HTTP/2 – Anlaufschwierigkeiten beim neuen Web-Standard
Das verbesserte Übertragungsprotokoll HTTP in der Version 2 (HTTP/2) war vor einigen Jahren noch ein großes Thema im Bereich der Kommunikation zwischen Server und Browser. Die Verbesserungen sollten in geringeren Ladezeiten für den Nutzer resultieren, wodurch das Interesse der gesamten IT-Branche groß war.
Die Verwendung des Protokolls ist schon seit einiger Zeit möglich, jedoch scheint der Übergang von HTTP/1.1 zu HTTP/2 eher stockend zu verlaufen. Woran das liegt und welche weiteren Verbesserungen HTTP/2 mit sich bringt, wird im folgenden Artikel beschrieben.
Warum HTTP/2 ?
Der Hauptgrund für die Verwendung von HTTP/2 sind die verkürzten Ladezeiten von Webseiten auf Seiten des Nutzers. Heutzutage beinhalten Webseiten viele Inhalte, welche typischerweise von mehreren Webservern abgerufen werden. Die Kommunikation zwischen Browser und Webserver kann man sich vereinfacht so vorstellen:
Zunächst fordert der Browser die HTML-Datei an. Diese Anfrage wird vom Server angenommen und beantwortet. Der Browser verarbeitet diese Antwort, bevor er eine weitere Anfrage sendet. Zunächst wird also die HTML-Datei analysiert und festgestellt, welche weiteren Inhalte (mit ähnlichem Kommunikationschema) angefragt werden müssen. Diese Kommunikation kann bei komplexen Webseiten, auch bei schnellen Leitungen, zu hohen Ladezeiten führen.
Google – Der Wegbereiter für HTTP/2
Auch Google verfolgte das Ziel von verkürzten Ladezeiten für seine Nutzer. Dabei bilden kurze Ladezeiten bei der Verwendung von Applikationen eine wichtige Voraussetzung für den Komfort des Nutzers. Bei der Lösung des Problems dachte man zunächst an die langsamen Downloadraten und initiierte das Projekt Google Fiber.
Dieses Projekt umfasst den Ausbau eines Hochgeschwindigkeits-Glasfasernetzes in den USA. Dabei sollen Download- und Uploadraten von bis zu 1 GB/s erreicht werden. Zurzeit können knapp 500.000 Haushalte dieses Netz nutzen. Bei der Betrachtung von möglichen Verbesserungen im Bereich der Browser-Server-Kommunikation erarbeitete Google Verbesserungen der genutzten Protokolle im Chrome Browser und in den eigenen Webservern.
Das neue Netzwerkprotokoll trug den Namen SPDY und bildete eine Grundlage für die Erarbeitung von HTTP/2.
Was macht HTTP/2 anders und welche Vorteile ergeben sich daraus?
Die Kommunikation zwischen Browser und Server beginnt bei HTTP/2 genau so wie bei HTTP/1.1, das heißt es folgt ein Verbindungsaufbau auf die Anfrage der HTML-Datei des Browsers. Der weitere Datenverkehr findet dann auf dieser Verbindung statt.
Ein großer Vorteil von HTTP/2 ist die Möglichkeit des sogenannten Server-Push. Dabei kann der Server selbständig Inhalte, wie Skripte oder Style Sheets, an den Browser versenden. Das heißt, dass der Browser gleichzeitig Daten anfragen und empfangen kann. Man spricht hierbei von Multiplexing. Das Resultat bilden verkürzte Ladezeiten für den Nutzer.
Diese können auch von Bedeutung für das Onlinemarketing sein. Geringere Ladezeiten beeinflussen Suchmaschinen in dem Maß, dass entsprechende Webseiten öfter von Google gecrawlt werden, der Google Bot sie also häufiger durchsucht. Dies kann bei Onlineshops dazu führen, dass neue Produkte und Inhalte schneller in den Index aufgenommen werden. Studien belegen ebenfalls, dass geringe Ladezeiten einen positiven Einfluss auf die Conversion-Rate, das heißt die Anzahl von Transaktionen im Verhältnis zu den Seitenaufrufen, haben.
Warum stockt der Übergang von HTTP/1.1 auf HTTP/2?
Trotz der vielen Vorteile ist die Verwendung von HTTP/2 heute doch recht selten. Auch hier hatte Google einen entscheidenden, diesmal jedoch nicht sehr positiven, Einfluss.
Damit ist die Umstellung von NPN (Next Protocol Negotiation) auf ALPN (Application-Layer Protocol Negotiation) in Verwendung mit dem Chrome Browser gemeint. Diese Erweiterungen ermöglichen u.a. dem Server mitzuteilen, welche Version von HTTP verwendet werden soll. Die Voraussetzung für die Verwendung von ALPN bildet eine Version von OpenSLL 1.0.2 oder höher. OpenSLL ist eine Software, welche im Zusammenhang mit Netzwerkprotokollen und Verschlüsselungen steht. Die angeforderte Version wird jedoch selten verwendet und eine Aktualisierung auf diese bringt große Hürden und großen Aufwand für die Server-Administratoren mit sich.
Die einfache Lösung wäre es, den Google Chrome Browser nicht mehr zu nutzen. Jedoch ist dieser momentan der am meisten verwendete Browser für Desktops und mobile Endgeräte. Das Problem bei der Verwendung von HTTP/2 betrifft also einen Großteil der Nutzer. Die bisherigen Hürden bei der Implementierung von HTTP/2 hemmen demnach für eine große Gruppe von Nutzern die Vorteile, welche durch die Verwendung von HTTP/2 möglich wären.