对于SPDY,我们需要实现PushStrategy并将其注册以推送资源。
HTTP2支持怎么样?
我喜欢nginx的想法,它包含读取HTTP响应中的链接头:https://nghttp2.org/blog/2015/02/10/nghttp2-dot-org-enabled-http2-server-push/
谢谢!
答案 0 :(得分:3)
Jetty HTTP / 2完全支持HTTP / 2 Push,实际上有不同的风格。 Webtide's website已启用Jetty的HTTP / 2推送功能。
有一个PushCacheFilter,它实现了基于Referer
标头在Jetty SPDY的PushStrategy中实现的相同算法。
有PushSessionCacheFilter,它使用构建器实现更复杂的方法来实际推送资源。
现在两者都使用Jetty特定的API,试图将它们作为Servlet 4.0规范的标准提出,并在现实世界的例子中对它们进行测试。
这种方法的好处在于完全自动化,并且不需要应用程序支持:与任何旧/旧的Web应用程序一起开箱即用。
Jetty团队当然可以探索使用Link
标头的可能性,但这似乎需要应用程序的支持(应用程序必须以正确的格式添加Link
标头),以及影响表演的代理层。
这由https://bugs.eclipse.org/bugs/show_bug.cgi?id=463457跟踪,欢迎任何贡献。
为了实现你自己的推送资源的策略,你可以编写一个简单的Servlet过滤器,并在那里使用Jetty特定的API(即Dispatcher.push(...)
或PushBuilder
API)来推动你自己的资源,与上面引用的过滤器类似。