Подтвердить что ты не робот

Поддержка Tomcat для HTTP/2.0?

Кто-нибудь знает, что такое самая низкая версия Tomcat, которая поддерживает HTTP/2.0? Я искал везде на своем сайте, и я не могу найти никаких подробностей относительно этого.

4b9b3361

Ответ 1

Я разработчик HTTP/2 в Jetty, и я наблюдаю за другими проектами, реализующими HTTP/2.

Tomcat Mark Thomas очертила поддержку HTTP/2 для Tomcat 9.

Обновление января 2017 года: Tomcat 8.5 поддерживает HTTP/2, см. @joe-aldrich answer fooobar.com/questions/171358/...

Учитывая, что Servlet 4.0 будет иметь целевую поддержку HTTP/2, а поддержка HTTP/2 требует поддержки ALPN в JDK (к чему я также подключаюсь), и что поддержка ALPN в JDK запланирована для JDK 9, вероятно, это будет долгое время, прежде чем все, что материализуется.

Однако имейте в виду, что другие контейнеры сервлетов уже поддерживают HTTP/2.

Jetty 9.3.0 имеет полную, надежную поддержку для HTTP/2, клиент и сервер. Мы уже много месяцев запускаем HTTP/2 на нашем собственном веб-сайте, и мы считаем готовность к поддержке HTTP/2 готовой. API-интерфейсы Jetty HTTP/2 Push рассматриваются для включения в Servlet 4.0. HTTP/2 Push уже доступен для приложений, развернутых на Jetty прозрачным способом (через сервлет-фильтр).

Undertow также имеет реализацию для HTTP/2.

Netty также имеет один, но он не основан на API-интерфейсах Servlet.

Ответ 2

Tomcat 8.5 был выпущен с функциями, перенесенными с Tomcat 9, и включает поддержку HTTP/2.

Ответ 3

Последняя версия Tomcat (версия 9) полностью поддерживает HTTP/2. Однако, поскольку все основные браузеры реализуют HTTP/2 через TLS, вам нужно настроить Tomcat, чтобы это разрешить. В этой статье объясняется настройка TLS в 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>