Кто-нибудь знает, что такое самая низкая версия Tomcat, которая поддерживает HTTP/2.0? Я искал везде на своем сайте, и я не могу найти никаких подробностей относительно этого.
Поддержка Tomcat для HTTP/2.0?
Ответ 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>