Tomcat 支持 HTTP/2.0?
Tomcat support for HTTP/2.0?
有谁知道支持HTTP/2.0的最低版本Tomcat是什么?我一直在他们的网站上到处寻找,但找不到任何相关细节。
我是 Jetty 的 HTTP/2 实施者,我关注其他实施 HTTP/2 的项目。
Tomcat 的马克·托马斯有 outlined support for HTTP/2 for Tomcat 9.
2017 年 1 月更新:Tomcat 8.5 支持 HTTP/2 请参阅@joe-aldrich 的回答
考虑到 Servlet 4.0 将作为目标 HTTP/2 支持,并且 HTTP/2 支持需要 JDK 中的 ALPN 支持(我也参与其中),并且 JDK 中的 ALPN 支持计划在 JDK 9 中进行,这可能需要很长时间才能实现。
但是,请注意其他 Servlet 容器已经提供 HTTP/2 支持。
Jetty 9.3.0 has full, robust, support for HTTP/2,客户端和服务器。
我们已经 运行 HTTP/2 在我们自己的网站上好几个月了,我们认为 HTTP/2 支持生产准备就绪。
Jetty 的 HTTP/2 推送 API 正在考虑包含在 Servlet 4.0 中。
HTTP/2 推送已可用于以透明方式(通过 Servlet 过滤器)部署到 Jetty 的应用程序。
Undertow 也有 HTTP/2.
的实现
Netty 也有一个,但它不是基于 Servlet API。
Tomcat 8.5 已发布,其中包含从 Tomcat 9 向后移植的功能,并包括 HTTP/2 支持。
Tomcat的最新版本(version 9) fully supports HTTP/2. However, as all major browsers only implement HTTP/2 over TLS you will need to configure Tomcat to allow this. This article explains TLS configuration in Tomcat,但这里是摘要。
打开 conf/server.xml
文件并进行以下配置更改。
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
<SSLHostConfig honorCipherOrder="false">
<Certificate certificateKeyFile="conf/ca.key"
certificateFile="conf/ca.crt"/>
</SSLHostConfig>
</Connector>
有谁知道支持HTTP/2.0的最低版本Tomcat是什么?我一直在他们的网站上到处寻找,但找不到任何相关细节。
我是 Jetty 的 HTTP/2 实施者,我关注其他实施 HTTP/2 的项目。
Tomcat 的马克·托马斯有 outlined support for HTTP/2 for Tomcat 9.
2017 年 1 月更新:Tomcat 8.5 支持 HTTP/2 请参阅@joe-aldrich 的回答
考虑到 Servlet 4.0 将作为目标 HTTP/2 支持,并且 HTTP/2 支持需要 JDK 中的 ALPN 支持(我也参与其中),并且 JDK 中的 ALPN 支持计划在 JDK 9 中进行,这可能需要很长时间才能实现。
但是,请注意其他 Servlet 容器已经提供 HTTP/2 支持。
Jetty 9.3.0 has full, robust, support for HTTP/2,客户端和服务器。 我们已经 运行 HTTP/2 在我们自己的网站上好几个月了,我们认为 HTTP/2 支持生产准备就绪。 Jetty 的 HTTP/2 推送 API 正在考虑包含在 Servlet 4.0 中。 HTTP/2 推送已可用于以透明方式(通过 Servlet 过滤器)部署到 Jetty 的应用程序。
Undertow 也有 HTTP/2.
的实现Netty 也有一个,但它不是基于 Servlet API。
Tomcat 8.5 已发布,其中包含从 Tomcat 9 向后移植的功能,并包括 HTTP/2 支持。
Tomcat的最新版本(version 9) fully supports HTTP/2. However, as all major browsers only implement HTTP/2 over TLS you will need to configure Tomcat to allow this. This article explains TLS configuration in Tomcat,但这里是摘要。
打开 conf/server.xml
文件并进行以下配置更改。
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
<SSLHostConfig honorCipherOrder="false">
<Certificate certificateKeyFile="conf/ca.key"
certificateFile="conf/ca.crt"/>
</SSLHostConfig>
</Connector>