HTTP/3: Die nächste Stufe des Web-Protokolls ist gezündet

Philipp Zeder
Autor:

Philipp Zeder

Kategorie:

in

Entwicklung & Performance

Veröffentlicht am 15. Nov. 2019

Aktualisiert am 15. Jan. 2024

Vor noch nicht allzu langer Zeit hat HTTP/2 das Licht der Welt erblickt. Und jetzt steht bereits HTTP/3 auf der Matte. Wir erklären, was HTTP/3 ist, warum es noch schneller als HTTP/2 ist und wer HTTP/3 bereits nutzen kann. Spoiler-Warnung: cyon-Kundinnen und -Kunden ?

HTTP/3: Die nächste Stufe des Web-Protokolls ist gezündet.

HTTP/3: Die nächste HTTP-Version steht in den Startlöchern

Das HyperText Transfer Protocol (HTTP) ist ein Protokoll zum Übertragen von Daten von einem Server an die Applikation des Anwenders. Es wird hauptsächlich verwendet um Websites im Browser anzuzeigen.

Supportcenter-Artikel zu HTTP/HTTPS

Bis 2015 war die Version HTTP/1.1 jahrelang das Mass aller Dinge. Dann kam HTTP/2 und brachte viele Verbesserungen. Nun steht bereits HTTP/3 in den Startlöchern. HTTP/3 ist vereinfacht gesagt die Verschmelzung der beiden Übertragungstechnologien HTTP/2 und QUIC, die bislang unabhängig voneinander auf unterschiedlichen Ebenen für schnellere Datenübertragung sorgen.

HTTP/3 erbt und vereint also die Vorteile von HTTP/2 und QUIC, die hier nochmals kurz zusammengefasst sind:

HTTP/2

  • Kommunikation auf einem Kanal
    Bis anhin musste der Browser für jede einzelne Datei eine eigene TCP-Verbindung öffnen. Das erzeugte unnötigen Datenverkehr und drückte auf die Geschwindigkeit. Mit HTTP/2 wird die Kommunikation zwischen Browser und Server über eine einzige Verbindung abgewickelt.
  • Stream Dependency
    Die Kommunikation auf einem einzelnen Kanal benötigt eine gewisse Intelligenz im Hintergrund, damit sich die Datenpakete nicht in die Quere kommen. Der Browser kann dem Server signalisieren, welche Dateien für ihn wichtiger sind und diese damit vor anderen Daten priorisiert erhalten.
  • Kompression der Kopfzeilen
    Die sogenannten HTTP-Header beinhalten die wichtigen Zusatzinformationen zu der angeforderten Datei. HTTP/1.1 erzeugt hier viele redundante Daten, was unnötigen Datenverkehr produziert. Mit HTTP/2 lassen sich diese Header drastisch in der Grösse reduzieren. Damit müssen weniger Daten ausgetauscht werden.
  • Server Push
    Der Server kann dem Browser bereits Dateien schicken, bevor der Browser die entsprechende Dateien überhaupt angefordert hat. Das verhindert zeitintensive Roundtrips der Datenpakete zwischen dem Browser und dem Server.

QUIC

  • Weniger Datenpakete, schneller verbunden
    Für den Verbindungsaufbau müssen weniger Datenpakete hin und her gesendet werden. Das spart Zeit.
  • Konstante Verbindung
    Die Verbindung zwischen den Geräten wird aufrecht erhalten, auch wenn sich das Netzwerk eines Geräts ändert (wie zum Beispiel beim Wechsel von Mobilfunk auf eine WIFI-Verbindung). Ein erneuter Verbindungsaufbau ist damit nicht nötig.
  • Keine Warteschlange
    Die Datenpakete müssen, im Gegensatz zu TCP, nicht in einer fest definierten Reihenfolge eintreffen. Verlorene Datenpakete führen damit nicht dazu, dass die Kommunikation verlangsamt wird.
  • Verschlüsselung inklusive
    Die Kommunikation via QUIC ist automatisch mit TLS 1.3 verschlüsselt und geniesst damit alle Vorteile von verschlüsselten Verbindungen.

Wie kann ich HTTP/3 nutzen?

HTTP/3 wird zurzeit von Arbeitsgruppen der Internet Engineering Task Force (IETF) standardisiert, befindet sich also immer noch in der Entstehungsphase. In den Entwicklungsversionen von Google Chrome, Mozilla Firefox und Microsoft Edge, den sogenannten Nightly-Builds, lässt sich HTTP/3 bereits aktivieren. Alles was es dann noch braucht, ist ein Server, der ebenfalls HTTP/3 versteht. Und der von uns verwendete Webserver LiteSpeed ist da ganz vorne mit dabei.

So aktivieren Sie HTTP/3 in den Browsern:

  • Chrome Canary und Edge Canary: Starten Sie die den Browser via Kommandozeile und den zusätzlichen Flags --enable-quic --quic-version=h3-23. Der vollständige Befehl sieht auf macOS dann folgendermassen aus (Chrome Canary):

    /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-quic --quic-version=h3-23

    Wie sie Chromium-basierte Browser wie Google Chrome oder Microsoft Edge auf der Kommandozeile mit zusätzlichen Flags starten, ist auf der Chromium-Website für die verschiedenen Betriebssystem erklärt.

  • Firefox Nightly: Öffnen Sie in Firefox Nightly die URL about:config und suchen Sie nach dem Flag network.http.http3.enabled. Stellen Sie das Flag auf true und starten Sie den Browser neu.

In den Entwickler-Tools der Browser können Sie sehen, über welches Protokoll eine Datei übertragen wurde:

Screenshot Microsoft Edge HTTP/3

HTTP/3 wird in Chromium-Browsern, wie hier abgebildet Microsoft Edge, zurzeit als «http/2+quic/99» angezeigt.

Mit dem HTTP/3-Check von LiteSpeed können Sie auch ohne passenden Browser testen, ob die gesuchte Website bereits HTTP/3 unterstützt.

Noch jung, aber vielversprechend

Eines zeigte sich in unseren Tests ganz klar: Man merkt, dass sich HTTP/3 noch in der Entwicklungsphase befindet. Die Tests funktionieren nicht in allen Fällen und Dokumentation zu allfälligen Bugs ist noch rar gesät. Weil aber Web-Schwergewichte wie Google, Facebook und Cloudflare an der Entwicklung beteiligt sind, ist davon auszugehen, dass HTTP/3 ein Erfolg wird. Und dank unserem LiteSpeed-Webserver sind cyon-Kundinnen und -Kunden im Technologierennen ganz vorne mit dabei.

Beteilige dich an der Diskussion

1 Kommentare

Norbert
Norbert 15. Nov. 2019 21:17

Vielen Dank für die Info!