HTTP/3: Das nächste Hypertext Transfer Protocol einfach erklärt
HTTP/3 ist das nächste Glied in der HTTP-Protokollfamilie und soll seine Vorgänger HTTP/1, HTTP/2 und HTTP-over-QUIC ablösen. HTTP/3 ist derzeit noch in der Entstehung, wird jedoch schon von Google Chrome, Microsoft Edge, Firefox und seit April 2020 auch von Safari unterstützt.
Die dritte Version des HTTP-Standards kam ursprünglich als „HTTP-over-QUIC“ auf die Welt und baute als experimentelles Protokoll auf UDP auf. Zunächst galt HTTP-over-QUIC als potenzieller Nachfolger von HTTP/2 – seit Januar 2020 läuft das Projekt aber offiziell unter dem Namen HTTP/3. Abzuwarten bleibt, wie schnell sich der neue Standard durchsetzen kann. In jedem Fall verspricht HTTP/3 durch UDP-gestützte Datenübertragung kürzere Ladezeiten und mehr Sicherheit. Bedenkt man jedoch, dass beispielsweise HTTP/2 seit der Veröffentlichung 2015 von 80 Prozent aller Browser unterstützt wird, die Nutzung durch Provider jedoch nur schleppend vorankommt, ist nicht mit einem sofortigen Boost an HTTP/3-Unterstützung zu rechnen.
Was ist HTTP/3?
Nur drei Jahre nach Einführung des HTTP/2-Standard veröffentlichte die Internet Engineering Task Force (IETF) im November 2018 den neuen Hypertext-Transfer-Protocol-Standard HTTP/3. Doch die IETF hat mit HTTP/3 das Hypertext Transfer Protocol keineswegs neu erfunden: Sie hat lediglich die Zeichen der Zeit erkannt und ein Webprotokoll entworfen, das schnellere Datenübertragung, mehr Sicherheit und effektivere Verbindungen bietet. Google entwickelte bereits 2012 den eigentlichen Nachfolger von HTTP/2 namens QUIC (Quick UDP Internet Connections) und implementierte diesen als HTTP-over-QUIC in zahlreiche Produkten.
HTTP/3 vereint nun jedoch die Vorteile der vorhandenen Transferprotokolle HTTP/2 und HTTP-over-QUIC in einem Standard zur schnelleren und stabileren Datenübertragung. Planmäßig soll HTTP/3 das TCP-basierte HTTP/2 durch den QUIC- bzw. UDP-basierten Ansatz ablösen.
Was beinhaltet HTTP/3?
Um zu verstehen, was HTTP/3 beinhaltet, gilt es zunächst, die Funktion von QUIC, UDP und HTTP/2 verstehen. HTTP/3 ist im Grunde ein Amalgam aus diesen Komponenten. Bereits der Name HTTP-over-QUIC enthält den Hinweis, dass der Datentransfer statt über TCP über UDP läuft.
HTTP/2 nutzt TCP als am weitesten verbreitetes Übertragungsprotokoll im Internet. TCP wickelt Verbindungen über mehrstufige Handshakes ab und überträgt Datenpakete chronologisch. Eine Übertragung setzt TCP erst nach der erfolgreichen Übertragung eines Pakets fort. Die Absicherung der Übertragung erfolgt über sogenannte Acks, also Bestell- und Lieferbestätigungen und Prüfnummern. Per TCP übermittelte Daten enthalten einen Header mit Parametern, die Sender-Prozessen helfen, sich mit Peer-Prozessen des Empfängers zu verbinden.
TCP ist hinsichtlich vollständiger Datenübertragung sehr zuverlässig, geht jedoch mit Datenstau und Ladezeiten einher, weil alle Übertragungen stoppen, bis ein verlorenes Datenpaket erfolgreich übertragen ist. Mit HTTP/2 stößt die Internetprotokollfamilie also gewissermaßen an ihre Grenze, denn eine Beschleunigung der Datenübertragung ist ohne neue Protokolle nicht realisierbar.
Google entwickelte somit proaktiv das eigene Transferprotokoll QUIC. QUIC umgeht TCP-Ladestaus, indem es auf die Datagram-basierte und verbindungslose UDP-Übertragung zurückgreift. UDP arbeitet wie TCP auf der Transportschicht, verzichtet aber auf Empfänger-Sender-Bestätigungen. Andere Streams müssen nicht auf die Übertragung des vorhergehenden warten. Roundtrips zwischen Client und Server werden so deutlich verkürzt. Die IETF erkannte die Vorteile des neuen Protokolls und führte es 2018 als HTTP/2-Nachfolgerversion HTTP-over-QUIC ein.
Das Transportprotokoll HTTP bleibt dabei vom Prinzip her gleich. Es besteht weiterhin aus einem Header und Nachrichtenrumpf (body) und verwendet Verben, Cookies und Caching. Der Unterschied besteht in der Art der Datenübertragung und dem Vorhandensein integrierter Verschlüsselung.
Welche Funktion hat HTTP/3?
Das HTTP/2-Protokoll über QUIC laufen zu lassen, erforderte konkrete Funktionsanpassungen, die – über das experimentelle HTTP-over-QUIC – zu der Entstehung von HTTP/3 führten.
Die wichtigste neue Funktion der dritten HTTP-Ausgabe ist die ausschließliche Verwendung von HTTPS-URLs. Jede ältere, ungesicherte URL wird als nicht sicher bzw. nicht verschlüsselt markiert. Durch die Verwendung von QUIC und UDP umgeht HTTP/3 nämlich den Schritt der TSL-Verschlüsselung auf der TCP-Ebene und verwendet automatisch eine TLS-1.3-Verschlüsselung. HTTP/3 ist somit nur anwendbar, wenn eine Verschlüsselung existiert.
Weitere neue Funktionen sind eine konstante Verbindung, wenn das Netzwerk während der Übertragung wechselt (auf Client- oder Serverseite), eine deutlich reduzierte Zahl an Datenpaketen, da die Paketübertragung über parallele Streams läuft, und eine „forward error correction“, also eine Fehlerkorrektur, die bereits auf QUIC-Ebene erfolgt.
Welche Vorteile bietet HTTP/3?
Die Vorteile von HTTP/3 sind bessere Übertragungsgeschwindigkeit, kürzere Ladezeiten und eine stabilere Verbindung. Aufbauend auf UDP umgeht HTTP/3 die Schwachpunkte von TCP und nutzt alle Vorteile von HTTP/2 und HTTP-over-QUIC.
Während HTTP/2 zwar auf Multiplexing zurückgreift, also auf das gleichzeitige Herunterladen von Daten, leidet die zweite HTTP-Version noch unter Head-of-line-Blocking. Dabei handelt es sich um digitale Flaschenhälse, die dafür sorgen, dass alle Streams stocken, wenn auf einem Stream ein Paketverlust auftritt. Durch den Einsatz von UDP wartet HTTP/3 nicht auf die erfolgreiche Übertragung, sondern setzt den Ladevorgang fort.
HTTP/3 verzichtet auf einleitende Handshakes, um die Sicherheit einer Verbindung zu prüfen. Statt Sicherheitsanfragen an die höherliegende TLS-Schicht abzugeben, erfolgt die Verschlüsselung direkt über das Transferprotokoll. Die Umlaufzeit beim Verbindungsaufbau reduziert HTTP/3 so von zwei auf einen Durchgang.
HTTP/3 ist für einen erfolgreichen Download nicht mehr an IP-Adressen gebunden, sondern nutzt individuelle Verbindungs-IDs, die selbst bei einem Netzwerkwechsel den konstanten Download ermöglichen.
Vor allem für Mobilfunknutzer soll HTTP/3 durch eine stabilere, flexiblere und schnellere Verbindung komfortableres Surfen ermöglichen.
HTTP/2 vs. HTTP/3: Gemeinsamkeiten und Unterschiede
Im Folgenden finden Sie eine kurze Zusammenfassung der Gemeinsamkeiten und Unterschiede, die im Vergleich HTTP/2 vs. HTTP/3 zu erwarten sind:
Unterschiede:
- HTTP/3 baut im Gegensatz zu HTTP/2 auf UDP statt auf TCP auf
- Durch eine integrierte TLS-1.3-Verschlüsselung verzichtet HTTP/3 auf eine zusätzliche Verschlüsselungsanfrage (Handshakes) auf der TLS-Ebene und umgeht so unnötige Sicherheitsabfragen.
- Durch die integrierte TSL-1.3-Verschlüsselung unterstützt HTTP/3 im Gegensatz zu HTTP/2 nur verschlüsselte Verbindungen.
Gemeinsamkeiten:
- Beide Protokolle nutzen Header-Kompression, HTTP/3 löst jedoch die an eine Paketreihenfolge gebundene HTTP/2 HPAck-Kompression durch QPack ab.
- HTTP/3 unterstützt wie HTTP/2-Server-Pushs, also das beschleunigte Senden von CSS- und JavaScript-Daten, die der Browser zum Darstellen einer Seite sowieso benötigt.
- Beide Protokolle nutzen Anfrage-/Antwort-Multiplexing, also das parallele Streamen von Daten verschiedener Ressourcen.
- Stream-Priorisierung sorgt bei beiden Protokollen dafür, dass Seiteninhalte priorisiert geladen werden, ohne auf die Fertigstellung von weiteren Anfragen zu warten.
Für lange Zeit galt HTTP/2 als effektives und zuverlässiges Transferprotokoll. Wie es bis zu seiner Ablösung durch HTTP/3 Verbindungen sicherer und schneller machte, erfahren Sie in unserem gesonderten Artikel über HTTP/2.
Welche Probleme könnte HTTP/3 mit sich bringen?
Viele Kritiker von HTTP/3 weisen darauf hin, dass die dritte Version zu früh nach dem HTTP/2-Protokoll kommt und UDP ein kritisch betrachtetes Netzwerkprotokoll ist. Außerdem haben vor allem die Nutzer Vorteile vom neuen HTTP-Protokoll. Provider wiederum sehen sich durch die Umstellung von TCP und TLS auf UDP und QUIC vor einige Herausforderungen gestellt.
Da Sicherheitsprüfung und Verschlüsselung nicht mehr über TLS, sondern direkt über UDP erfolgt und UDP so viele Pakete so schnell wie möglich zustellen soll, befürchten Provider, dass der Datenverkehr durch die fehlende TLS-Authentifikation nicht mehr gründlich geprüft wird. Die Anwendungs- und Datensicherheit ist daher der Kernkritikpunkt der Internetanbieter. TCP galt durch eine klare Anfrage-Antwort-Regelung als zuverlässiges und verbindungsorientiertes Protokoll. Da QUIC viele Zwischenschritte selbst übernimmt, steht die Befürchtung im Raum, dass die Kontrollmöglichkeiten von Providern durch HTTP/3 beschränkt werden und mehr Malware in den Datenstrom gelangen könnte.
Da das zunehmende Angebot an Mediadaten wie Bildern, Videos und anderen Social-Media-Elementen schnellere Datenübertragungen erfordert, bleibt im Sinne der Nutzer zu hoffen, dass bald Bewegung in die Internetprotokollfamilie kommt und die Provider mit dem sich immer schneller wandelnden Internet mithalten können.