Weiß jemand, was die niedrigste Version von Tomcat ist, die HTTP/2.0 unterstützt? Ich habe überall auf ihrer Website gesucht und finde keine Details dazu.Tomcat-Unterstützung für HTTP/2.0?
Antwort
Ich bin der HTTP/2-Implementierer in Jetty, und ich beobachte andere Projekte, die HTTP/2 implementieren.
Tomcat Mark Thomas hat outlined support for HTTP/2 for Tomcat 9.
-Update Januar 2017: Tomcat 8.5 unterstützt HTTP/2 https://stackoverflow.com/a/37889873/2027465
Bedenkt man, dass Servlet 4.0 als Ziel HTTP/2-Unterstützung haben wird, und dass HTTP/2-Unterstützung @ joe-aldrich Antwort sehen erfordert ALPN-Unterstützung im JDK (an dem ich auch beteiligt bin), und dass die ALPN-Unterstützung im JDK für JDK 9 geplant ist, wird es wahrscheinlich lange dauern, bis sich alles materialisiert.
Beachten Sie jedoch, dass andere Servlet-Container bereits HTTP/2-Unterstützung bieten.
Jetty 9.3.0 hat volle, robuste, support for HTTP/2, Client und Server. Wir betreiben HTTP/2 seit vielen Monaten auf unserer eigenen Website und halten die HTTP/2-Unterstützung für produktionsbereit. Die HTTP/2-Push-APIs von Jetty werden zur Aufnahme in Servlet 4.0 in Betracht gezogen. HTTP/2 Push ist bereits für Anwendungen verfügbar, die auf Jetty auf transparente Weise bereitgestellt werden (über einen Servlet-Filter).
Undertow hat auch eine Implementierung für HTTP/2.
Netty hat auch einen, aber es basiert nicht auf den Servlet-APIs.
Tomcat 8.5 wurde mit von Tomcat 9 zurückportierten Funktionen veröffentlicht und enthält HTTP/2-Unterstützung.
AFAIK, Tomcat 8.5 Die Unterstützung von HTTP/2 basiert auf Tomcat Native. –
Die Verwendung von h2 in Tomcat 8.5 mit den NIO- oder NIO2-Anschlüssen erfordert derzeit noch die Verwendung von OpenSSL für TLS. Tomcat 8.5 unterstützt jedoch auch Klartext-h2c, für die Tomcat Native für OpenSSL nicht benötigt wird (Browser haben sich jedoch bisher dafür entschieden, die h2c-Unterstützung nicht zu implementieren). –
nativ? bedeutet das, dass der eingebettete Tomcat auf Spring Boot nicht in der Lage sein wird http2 zu liefern? – lrn2prgrm
Die neueste Version von Tomcat (version 9) unterstützt vollständig HTTP/2. Da jedoch alle gängigen Browser nur HTTP/2 over TLS implementieren, müssen Sie Tomcat konfigurieren, um dies zu ermöglichen. Dieser Artikel erklärt TLS configuration in Tomcat, aber hier ist die Zusammenfassung.
Öffnen Sie die Datei conf/server.xml
und nehmen Sie die folgenden Konfigurationsänderungen vor.
<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>
- 1. Chrome HTTP2.0 wirft SPDY PROTOCOL ERROR
- 2. Scala für() vs für {}
- 3. Verbindungszeichenfolge für Informix für .NET
- 4. Mindestanforderungen für Unity für Android?
- 5. Gruppe für Monat für Anwesenheitsliste
- 6. Modul für OneSignal für Appcelerator
- 7. Vorschlag für Vorlagenbuch für C++?
- 8. Alternative für BtsMSITask für BizTalk
- 9. Elmah für WCF für Ausnahmebehandlung
- 10. Beispiel für den Domain-Namen für mailgun be für nodejs?
- 11. Einstellung für Ländereinstellung für Java-Überschreibung für bestimmtes Gebietsschema
- 12. Implementieren von Bedingungsvariablen für CRITICAL_SECTIONs für WinThreads für XP
- 13. Alternative für ‚in‘ Operator für verschachtelte Listen
- 14. Validierung für TextBox für ein Benutzerformular
- 15. Jeder Ersatz für Bugsense für ACRA
- 16. "für" Schleife in einem anderen "für" Schleife
- 17. Empfehlung für Bildschirm-Video-Capture für Demos
- 18. istream für die Kommandozeileneingabe für C++/Poco
- 19. Zeitbedingung für Überprüfer für GCM Zweck
- 20. Swift: Verschlüsselte Eingabe für UITextField für Kartendetails
- 21. Relativer Pfad für Asset-Funktion für Laravel
- 22. Chrome für iOS: „Immer erlauben“ für Plätzchen
- 23. Spline-Interpolation für Werte für die Zeit
- 24. Beispiel für Akka EventBus für Java
- 25. Syntax für reguläre Ausdrücke für "Nichts anpassen"?
- 26. Admob Unterstützung für Kivy (Python für Android)
- 27. Sitzungsbehandlung für in WCF für ASP.net-Client
- 28. Pfad für die Installation Binärdateien für Kabale
- 29. Hilfe für EC2-api-Tools für Ubuntu
- 30. Ersatz für veralteten Facebook-Code für Android
Um HTTP/2 mit Tomcat zu verwenden, müssen Sie HTTPS aktivieren, wie in den obigen Links erwähnt. Hier ist eine einfache Anleitung, wie es geht: https://readlearncode.com/configure-tomcat-9-for-http2/ – Alex
Ich versuche zu aktivieren H2 im Frühjahr Boot Embedded Tomcat. Ich habe HTTPS und das addUpgradeProtocol (neues HTTP2Protocol()), aber ich bekomme immer ... Verbindungsstück, das ALPN nicht unterstützt, sollte ich eine neue Frage öffnen? – lrn2prgrm