2015-03-31 5 views
18

Nach einigen Recherchen war ich überrascht, dass ich keine Ressource auf HTTP/2-Unterstützung in Tomcat gefunden habe. Changelogs von 8.0 zeigen eine experimentelle Unterstützung von SPDY an und Wiki bezieht sich auf HTTP/2 als unterstützte Spezifikation (http://wiki.apache.org/tomcat/Specifications), aber ich finde keine Anleitung dazu.HTTP/2-Unterstützung in Tomcat 8

Wissen Sie, ob es bereits möglich ist, HTTP/2 auf Tomcat zu aktivieren? Wenn die Antwort ja ist, wie kann ich das tun?

+0

Gibt es hier eine Frage? Ideen über was? Ich hoffe, du fragst nicht, wo du die Dokumentation finden kannst ... weil das nicht stimmt !! –

+0

Ich habe die Frage explizit hinzugefügt ... –

+0

mögliche Duplikate von [Configure SPDY auf Tomcat 8 Windows] (http://stackoverflow.com/questions/28795470/configure-spdy-on-tomcat-8-windows) –

Antwort

20

Tomcat unterstützt HTTP/2 noch nicht.

Die HTTP/2-Unterstützung ist ab Tomcat 9 geplant. Es kann zu früheren Versionen zurück portiert werden.

Die experimentelle SPDY-Unterstützung war genau das: experimentell. Es funktionierte, während die Browser die spezielle Version von SPDY unterstützten, aber kein Browser unterstützt derzeit die von Tomcat implementierte Version von SDPY.

Diese experimentelle Unterstützung von SPDY wurde aus Tomcat 8.0.22 entfernt, notiert in der changelog.

4

HTTP/2 Support ist jetzt in Tomcat verfügbar. Tomcat-8.5 unterstützt HTTP/2. Um HTTP/2 unter tomcat-8.5 oder höher zu aktivieren, müssen Sie das Connector-Protokoll in der Datei server.xml im Ordner tomcat conf aktualisieren.

Sie müssen auch die Konfiguration Ihrer SSL-Zertifikate einrichten, um mit diesem Connector zu arbeiten.

+1

Vielen Dank! Wie führen Sie Server-Push durch? –

+0

Server Push kann mithilfe der PushBuilder-API in Java ausgeführt werden. –

+0

Also bedeutet es, dass es keine native API gibt, die verwendet werden kann und folglich Servlet 4 benötigt wird? Auch wenn diese Aussage zutrifft, können wir den Vorteil von Server-Push nur in Tomcat 9 ausnutzen, weil Tomcat 8.5 immer noch Servlet 3.1 verwendet? –

7

Tomcat 8.5 wurde mit von Tomcat 9 zurückportierten Funktionen veröffentlicht und enthält HTTP/2-Unterstützung.

Ich hatte noch nicht die Möglichkeit, HTTP/2 auf Tomcat 8.5 einzurichten, also kann ich das "How to" nicht kommentieren.

+0

Die Anleitung dazu finden Sie hier: https: //tomcat.apache .org/tomcat-8.5-doc/config/http2.html – Paul

0

ermöglichen http2 für tomcat8.5.x,

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