我正在研究HTTP2以及我们在应用程序中使用它的可能性。目前我们正在使用Java 8开发并使用Tomcat 8.5.24(这意味着我们使用Servlet 3.1)。我已经搜索过网络,但找不到任何有关如何利用HTTP2功能的资源。
我能找到的唯一例子是使用Servlet 4.0(我看到的只有Tomcat 9支持),唯一展示的是使用PushBuilder
来推送css和js文件客户请求和html页面。
我能否通过HTTP2使用Servlet 3.1提供的异步api? Servlet 3.1支持HTTP2吗?如果没有,那么Tomcat 8.5支持HTTP2的重点是什么?仅用于推送网络资源?
答案 0 :(得分:3)
首先,一些基本要点:
解决您的具体问题:
我能否通过HTTP2使用Servlet 3.1提供的异步api?
是。它还有4.0规范。
Servlet 3.1支持HTTP2吗?
没有。 Servlet 4.0规范的附录A1明确指出3.1中的一个变化是支持HTTP / 2"的要求。
如果没有,那么Tomcat 8.5支持HTTP2的重点是什么?
因为HTTP / 2中的功能独立于servlet而存在。见the Tomcat 8.5 documentation on its HTTP/2 support。例如,虽然您无法实现HTTP / 2服务器推送,但您仍然可以使用Tomcat 8.5实现HTTP / 2标头压缩。
仅用于推送网络资源?
没有。 HTTP / 2完全与性能有关,而server push is just one feature:
最后,还有一些值得注意的相关事项: