Jetty HTTP2服务器推送支持

时间:2015-03-30 08:59:39

标签: jetty server-push http2

对于SPDY,我们需要实现PushStrategy并将其注册以推送资源。

HTTP2支持怎么样?

我喜欢nginx的想法,它包含读取HTTP响应中的链接头:https://nghttp2.org/blog/2015/02/10/nghttp2-dot-org-enabled-http2-server-push/

谢谢!

1 个答案:

答案 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)来推动你自己的资源,与上面引用的过滤器类似。