Schneller surfen
14.03.2015, 10:46 Uhr
HTTP/2 – das neue Protokoll fürs Internet
Das zentrale Internetprotokoll HTTP erhält jetzt eine neue Fassung. Das Nachfolgeprotokoll HTTP/2 ist vollständig abwärtskompatibel und verspricht höhere Geschwindigkeiten.
Jeder, der sich im Internet bewegt, hat zwangsläufig mit ihm zu tun: mit HTTP, dem Hypertext Transfer Protocol oder der verschlüsselten Variante HTTPS. Browser nutzen das Protokoll hauptsächlich dazu, um Webseiten zu laden. Seine Funktionen sind aber nicht darauf beschränkt.
Die aktuelle Version – HTTP 1.1 – ist in die Jahre gekommen. Sie stammt von 1999. Im Februar haben die Internet Engineering Task Force (IETF) und das World Wide Web Consortium (W3C) nun den HTTP/2 Standard freigegebenen. Browser wie Firefox und Chrome unterstützen das neue Protokoll bereits.
Mehr Geschwindigkeit im Web
HTTP/2 basiert auf vielen Funktionen von SPDY (sprich „speedy“), dem experimentellen Netzwerkprotokoll von Google.
Das Potenzial für mehr Geschwindigkeit lässt sich schon beim Verbindungsaufbau per Http/2 erkennen: Heutiges HTTP benötigt in der Startphase für jede Anfrage eine separate TCP-Verbindung – noch bevor die ersten Elemente einer Webseite übertragen werden. Zunächst handeln der Server und der Client die TCP-Verbindung aus – erst dann sendet der Client die eigentliche HTTP-Anfrage. In der Startphase laufen also die Signale zwischen Server und Client zweimal hin und her. Zu den wichtigsten neuen Funktionen von HTTP/2 gehört das Multiplexing. Das heisst, dass mehrere Anfragen zusammengefasst über eine Verbindung übertragen werden, was zu einem deutlichen Geschwindigkeitszuwachs führt.
Moderne Webseiten bestehen aus vielen Elementen, die der Browser nacheinander holen muss, etwa Javascript-Dateien, Stylesheets, Bilder oder Werbung. Zudem liegen diese Elemente oft auf unterschiedlichen Hosts. Der Aufruf solcher Webseiten kann sich selbst bei schnellen Anschlüssen hinziehen, obwohl die Leitungen nicht ausgelastet werden.
Bei HTTP/2 wird nur noch eine einzige Verbindung, ein einziger Stream, zum Server geöffnet. Die Streams werden innerhalb einer TCP-Verbindung verschickt und lassen sich priorisieren. So kann der Browser entscheiden, welche Daten er zuerst benötigt. Besonders für den Seitenaufbau ist das wichtig.
HTTP/2 komprimiert Daten und erlaubt Server-Pushs
Eine grosse Webseite braucht zum vollständigen Laden gut 50 HTTP-Anfragen. Dadurch entsteht ein nicht unerheblicher HTTP-Overhead. Hier setzt die neue Komprimierungsfunktion von HTTP/2 an, bei der ein neuer Algorithmus namens HPACK zum Einsatz kommt. Er schliesst auch die HTTP-Header ein und reduziert damit das Datenaufkommen. HTTP/2 überträgt zudem die Inhalte binär codiert. Binäre Daten lassen sich effizienter analysieren, sind kompakter und weniger fehleranfällig als textbasierte Protokolle wie HTTP 1.x.
Push-Funktion
Um nicht auf Folgeanfragen vom Client warten zu müssen, kann der Server auch selbst Datenübertragungen initiieren. Man spricht hier vom Push-Verfahren.
Mit HTTP/2 kann ein Server also von sich aus Daten auf den Weg schicken, von denen er annimmt, dass der Client sie ohnehin gleich braucht. Das erspart dem Client gesonderte Anfragen etwa für Javascripts oder CSS-Dateien.
Sicherheit
Mit HTTP/2 ändert sich auch in Sachen Sicherheit einiges: Die HTTP-Arbeitsgruppe hatte sich zwar zunächst weitgehend darauf verständigt, alle Datentransfers bei HTTP/2 verschlüsselt abzuwickeln. Es sollte nur noch URLs mit https:// geben. Diese Haltung hat das Gremium aber wieder aufgegeben. Nun soll Verschlüsselung per TLS – Transport Layer Security – anders als bei SPDY bei HTTP/2 nicht obligatorisch sein.
Die Möglichkeit, HTTP/2 auch unverschlüsselt zu verwenden, wollte die Arbeitsgruppe nicht komplett ausschliessen, etwa weil Proxy- und Firewall-Hersteller Zugriff auf die Inhalte benötigen. Die Entwickler von Chrome und Firefox haben jedoch angekündigt, HTTP/2 nur über verschlüsselte Verbindungen zu unterstützen.
Unternehmensnetzwerke
Der neue Standard soll vollständig abwärtskompatibel zu HTTP 1.1 sein. System-Administratoren und Entwickler müssen also nicht Monate damit verbringen, ältere Websites zu aktualisieren oder die Unternehmensnetzwerke anzupassen. Die Reduzierung von Anfragen an die Server und die damit einhergehende Reduzierung der Verbindungen nimmt viel Last aus dem Unternehmensnetzwerk.
Microsoft hat die Unterstützung von HTTP/2 mit der neuen Version des Internet Explorers angekündigt, die das Unternehmen voraussichtlich im Herbst zusammen mit Windows 10 ausliefern will.