HTTP/2: Der langerwartete Nachfolger
Höhere Geschwindigkeit gefällig?
Microsoft unterstützt mit Internet Explorer die erste größere Überarbeitung des HTTP-Protokolls seit 1999. Es wurde also langsam Zeit.
In den vergangenen Jahren gab es immer wieder Maßnahmen zur Optimierung der Webarchitektur. Doch der Umfang keiner dieser Maßnahmen lässt sich mit dem von HTTP/2 vergleichen. Wir haben in der IETF HTTPbis-Arbeitsgruppe unseren Beitrag zur Entwicklung dieses neuen, effizienten und kompatiblen Standards geleistet. Der Name des neuen Standards wird, wie nicht anders zu erwarten, HTTP/2 lauten. Mit Internet Explorer in der Windows 10 Technical Preview erhalten Sie einen ersten Einblick.
Eine Übersicht über die Tätigkeit der HTTPbis-Arbeitsgruppe finden Sie auf der Microsoft Open Technologies HTTP/2-Seite.
Gründe für die führende Stellung von Internet Explorer bei der Implementierung von HTTP/2
In einer Welt, in der die Bedeutung von Echtzeitdiensten und Mobilgeräten noch weiter wächst, kommt es mehr den je auf Leistung an, selbst kleinste Steigerungsraten können einen enormen Unterschied ausmachen. Beispielsweise hat eine Untersuchung von Bing ergeben, dass eine Verlängerung der Seitenladezeit um nur 10 ms für die Website eine jährliche Gewinneinbuße von 250.000 USD bedeuten würde. Eine Steigerung von 100 ms – das ist 3-mal schneller als ein Augenblinzeln – vernichtet drei Monate Arbeit an der Verbesserung der Suchergebnisrelevanz. Durch diese Verzögerung von 100 ms bei der Reaktionsfähigkeit von eCommerce-Websites entgeht Onlinehändlern bis zu 1 % Ihres Umsatzes, da Onlinesuchen abgebrochen werden. Die Tätigkeit der Arbeitsgruppe hat also große ökonomische Tragweite.
Was stimmt nicht mit dem bisherigen Protokoll?
Der Ladevorgang von Websites ist heute noch immer quasi genau derselbe wie in den Tagen von Bildschirmen mit 800 x 600 Pixel. Selbstverständlich ist das Web schneller geworden, jedoch könnte es noch weitaus schneller und wesentlich ressourcenschonender sein.
Beim Aufbau einer Seite sind derzeit noch immer zahlreiche einzelne Abfragen zwischen dem Browser und dem Server erforderlich. Die einzelnen Aufrufe an den Server können nur nacheinander erfolgen. Selbstverständlich können Sie mehrere unabhängige Verbindungen parallel öffnen. Die Anzahl der Abfragen die gleichzeitig erfolgen kann, bleibt aber auch hierbei beschränkt. Die Reihenfolge der Antworten durch den Server ist noch immer vorgegeben und verhindert dadurch die serverseitige Optimierung.
Was ist bei HTTP/2 anders?
HTTP/2 stellt die Webseitenelemente schneller und effizienter bereit. Dabei wird die gesamte verfügbare Bandbreite genutzt. Dank langanhaltender Verbindungen und Multiplexing (die Fähigkeit des Protokolls, mehrere Anforderungen in einer Verbindung zu vereinen) werden mehr Websiteelemente früher bereitgestellt. Experimentelle HTTP/2-Funktionen wie Server Push und Anforderungsabhängigkeiten können die Leistung des Webs in Zukunft noch weiter verbessern.
Was bedeutet das für Entwickler?
HTTP/2 war von Anfang an auf Abwärtskompatibilität mit HTTP/1.1 ausgelegt. Daher müssen die APIs für die HTTP-Bibliotheken nicht geändert werden und Entwickler, die diese Bibliotheken verwenden, können den Code ihrer Anwendungen wie gehabt weiterverwenden. Dies bedeutet einen gewaltigen Vorteil: Entwickler müssen nicht Monate mit der Aktualisierung älterer Websites verbringen.
Was ist mit Netzwerken? Und der Sicherheit?
Weniger und weniger häufige Verbindungen bedeutet, dass HTTP/2 die Auslastung von Netzwerken verringert. Ziehen Sie hierbei die Ausdehnung des heutigen Webs in Betracht, lässt dies deutliche Effizienzsteigerungen erwarten, besonders bei mobilen Netzwerken. Dank des effizienten Verbindungsmodells von HTTP/2 verringern sich die Leistungseinbußen für die Verwendung von TLS, womit mehr Administratoren die Gelegenheit nutzen können, TLS für Ihre Websites zu verwenden.
Wann kann ich HTTP/2 selbst ausprobieren?
IE in der Windows 10 Technical Preview unterstützt HTTP/2. Die Arbeit an HTTP/2 für IE begann mit Windows und Windows Phone 8.1, als wir das experimentelle SPDY 3.0-Protokoll hinzugefügt hatten. Dadurch konnten wir einige Erfahrung mit einem Multiplexing-fähigen HTTP-Protokoll sammeln und die Einführung von HTTP/2, dem neuen Branchenstandard, vorbereiten.
SPDY war ein guter Ausgangspunkt für den HTTP/2-Standard, jedoch handelt es sich hierbei um ein experimentelles Protokoll, dass nie für den langfristigen Einsatz vorgesehen war. Mit der Einführung von HTTP/2 wird in allen kommenden Versionen von IE auf SPDY-Unterstützung verzichtet. Websites und Anwendungen, die derzeit SPDY verwenden, sollten sich ohne oder mit lediglich geringfügigen Änderungen zu HTTP/2 migrieren lassen.
Wie können sich Entwickler und Websitebetreiber auf die Änderung vorbereiten?
- Führen Sie die IE-Version in der Windows 10 Technical Preview aus.
- Starten Sie die Entwicklungstools und aktivieren Sie die Netzwerkverfolgung.
- Laden Sie Websites, die HTTP/2 draft-14 unterstützen. Einige fantastische Websites finden Sie auf den Implementer-Seiten unter: https://github.com/http2/http2-spec/wiki/Implementations
- Staunen Sie, wie schnell HTTP/2-Pakete übertragen werden.
Die Technical Preview verfügt zudem über HTTP/2-Serverunterstützung. Sie können Websites in IIS erstellen und End-to-End-Tests Ihrer Inhalte durchführen. Hinweis: In den Technical Preview-Versionen von IE und IIS werden unsichere Verbindungen (z. B. HTTP) unter HTTP/2 nicht unterstützt. HTTP/2 unterstützt nur sichere Verbindungen (z. B. HTTPS).
Probieren Sie unsere HTTP/2-Implementierung aus und stellen Sie sie auf den Prüfstand! Wir freuen uns auf Ihr Feedback bei @IEDevChat oder Connect.
– Rob Trace, Senior Program Manager
– David Walp, Senior Program Manager