Quelqu'un sait-il quelle est la version la plus récente de Tomcat qui prend en charge HTTP/2.0? J'ai cherché partout sur leur site et je ne trouve aucun détail à ce sujet.
Je suis l'implémenteur HTTP/2 dans Jetty, et je regarde d'autres projets implémentant HTTP/2.
Mark Thomas de Tomcat a décrit la prise en charge de HTTP/2 pour Tomcat 9 .
Mise à jour de janvier 2017 : Tomcat 8.5 prend en charge HTTP/2 voir la réponse @ joe-aldrich https://stackoverflow.com/a/37889873/ 2027465
Étant donné que Servlet 4.0 va avoir comme support HTTP/2 cible, et que le support HTTP/2 nécessite le support ALPN dans le JDK (auquel je participe également), et que le support ALPN dans le JDK est prévu pour JDK 9, il faudra probablement beaucoup de temps avant que tout cela se matérialise.
Cependant, sachez que d'autres conteneurs de servlets fournissent déjà une prise en charge HTTP/2.
Jetty 9.3. a complet, robuste, support pour HTTP/2 , client et serveur. Nous utilisons HTTP/2 sur notre propre site Web depuis plusieurs mois maintenant et nous considérons que la prise en charge de la prise en charge HTTP/2 est prête. Les API HTTP/2 Push de Jetty sont envisagées pour inclusion dans Servlet 4.0. HTTP/2 Push est déjà disponible pour les applications déployées sur Jetty de manière transparente (via un filtre de servlet).
ndertow a également une implémentation pour HTTP/2.
Netty en a également un, mais il n'est pas basé sur les API de servlet.
Tomcat 8.5 a été publié avec des fonctionnalités back-portées depuis Tomcat 9 et inclut la prise en charge HTTP/2.
La dernière version de Tomcat ( version 9 ) prend entièrement en charge HTTP/2. Cependant, comme tous les principaux navigateurs n'implémentent que HTTP/2 sur TLS , vous devrez configurer Tomcat pour autoriser cela. Cet article explique configuration TLS dans Tomcat , mais voici le résumé.
Ouvrez le conf/server.xml
fichier et apportez les modifications de configuration suivantes.
<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>