【问题标题】:HTTP/2 support in Tomcat 8Tomcat 8 中的 HTTP/2 支持
【发布时间】:2015-06-04 14:16:47
【问题描述】:

经过一番研究,我很惊讶在 Tomcat 中没有找到任何关于 HTTP/2 支持的资源。 8.0 的变更日志表明对 SPDY 的实验性支持,wiki 将 HTTP/2 称为受支持的规范 (http://wiki.apache.org/tomcat/Specifications),但我没有找到任何关于它的教程。

您知道是否已经可以在 Tomcat 上启用 HTTP/2?如果答案是肯定的,我该怎么做?

【问题讨论】:

标签: tomcat tomcat8 http2


【解决方案1】:

Tomcat 还不支持 HTTP/2。

HTTP/2 支持计划从 Tomcat 9 开始。它可能会被向后移植到早期版本。

实验性的 SPDY 支持就是这样:实验性的。当浏览器支持特定版本的 SPDY 但目前没有浏览器支持 Tomcat 实现的 SDPY 版本时,它可以工作。

已从 Tomcat 8.0.22 中删除了对 SPDY 的实验性支持,在 changelog 中注明。

【讨论】:

    【解决方案2】:

    HTTP/2 Support 现在在 Tomcat 中可用。 Tomcat-8.5 支持 HTTP/2。要在 tomcat-8.5 或更高版本中启用 HTTP/2,您需要在 tomcat conf 文件夹中的文件 server.xml 中升级连接器协议。

    <Connector ... >
      <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
    </Connector>
    

    您还需要设置 SSL 证书的配置以使用此连接器。

    【讨论】:

    • 谢谢!你如何执行服务器推送?
    • 可以使用 Java 中的 PushBuilder API 执行服务器推送。
    • 这是否意味着没有可以使用的本机 API,因此需要 servlet 4?此外,如果这个陈述是真的,我们只能在 tomcat 9 中利用 server-push,因为似乎 tomcat 8.5 仍然使用 servlet 3.1?
    • 要添加有关为 HTTP/2 配置 Tomcat 9 的答案,请参阅:readlearncode.com/configure-tomcat-9-for-http2
    • HTTP/2 默认情况下被设计为安全的。因此,我们需要 SSL 和 HTTP2。如果你不想拥有 SSL,那么你需要回到 HTTP 1.1 并且不能使用 HTTP2。
    【解决方案3】:

    已发布 Tomcat 8.5,其功能从 Tomcat 9 向后移植,并包括 HTTP/2 支持。

    我个人还没有机会在 Tomcat 8.5 上设置 HTTP/2,所以我无法评论“如何做”。

    【讨论】:

      【解决方案4】:

      为tomcat8.5.x启用http2,

      @Bean
             public EmbeddedServletContainerCustomizer tomcatCustomizer() {
              return container -> {
                  if (container instanceof TomcatEmbeddedServletContainerFactory) {
                      ((TomcatEmbeddedServletContainerFactory) container).addConnectorCustomizers((connector) -> {
                          connector.addUpgradeProtocol(new Http2Protocol());
                      });
                  }
              };
          }
      

      【讨论】:

        猜你喜欢
        • 2015-10-14
        • 2018-10-30
        • 2013-08-15
        • 2016-10-30
        • 2015-08-31
        • 2015-12-18
        • 2016-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多