HTTP/3 ist das nächste Glied in der HTTP-Pro­to­koll­fa­mi­lie und soll seine Vorgänger HTTP/1, HTTP/2 und HTTP-over-QUIC ablösen. HTTP/3 ist derzeit noch in der Ent­ste­hung, wird jedoch schon von Google Chrome, Microsoft Edge, Firefox und seit April 2020 auch von Safari un­ter­stützt.

Die dritte Version des HTTP-Standards kam ur­sprüng­lich als „HTTP-over-QUIC“ auf die Welt und baute als ex­pe­ri­men­tel­les Protokoll auf UDP auf. Zunächst galt HTTP-over-QUIC als po­ten­zi­el­ler Nach­fol­ger von HTTP/2 – seit Januar 2020 läuft das Projekt aber offiziell unter dem Namen HTTP/3. Ab­zu­war­ten bleibt, wie schnell sich der neue Standard durch­set­zen kann. In jedem Fall ver­spricht HTTP/3 durch UDP-gestützte Da­ten­über­tra­gung kürzere La­de­zei­ten und mehr Si­cher­heit. Bedenkt man jedoch, dass bei­spiels­wei­se HTTP/2 seit der Ver­öf­fent­li­chung 2015 von 80 Prozent aller Browser un­ter­stützt wird, die Nutzung durch Provider jedoch nur schlep­pend vor­an­kommt, ist nicht mit einem so­for­ti­gen Boost an HTTP/3-Un­ter­stüt­zung zu rechnen.

Was ist HTTP/3?

Nur drei Jahre nach Ein­füh­rung des HTTP/2-Standard ver­öf­fent­lich­te die Internet En­gi­nee­ring 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 kei­nes­wegs neu erfunden: Sie hat lediglich die Zeichen der Zeit erkannt und ein Web­pro­to­koll entworfen, das schnel­le­re Da­ten­über­tra­gung, mehr Si­cher­heit und ef­fek­ti­ve­re Ver­bin­dun­gen bietet. Google ent­wi­ckel­te bereits 2012 den ei­gent­li­chen Nach­fol­ger von HTTP/2 namens QUIC (Quick UDP Internet Con­nec­tions) und im­ple­men­tier­te diesen als HTTP-over-QUIC in zahl­rei­che Produkten.

HTTP/3 vereint nun jedoch die Vorteile der vor­han­de­nen Trans­fer­pro­to­kol­le HTTP/2 und HTTP-over-QUIC in einem Standard zur schnel­le­ren und sta­bi­le­ren Da­ten­über­tra­gung. Planmäßig soll HTTP/3 das TCP-basierte HTTP/2 durch den QUIC- bzw. UDP-basierten Ansatz ablösen.

Was be­inhal­tet HTTP/3?

Um zu verstehen, was HTTP/3 be­inhal­tet, gilt es zunächst, die Funktion von QUIC, UDP und HTTP/2 verstehen. HTTP/3 ist im Grunde ein Amalgam aus diesen Kom­po­nen­ten. Bereits der Name HTTP-over-QUIC enthält den Hinweis, dass der Da­ten­trans­fer statt über TCP über UDP läuft.

HTTP/2 nutzt TCP als am weitesten ver­brei­te­tes Über­tra­gungs­pro­to­koll im Internet. TCP wickelt Ver­bin­dun­gen über mehr­stu­fi­ge Hand­shakes ab und überträgt Da­ten­pa­ke­te chro­no­lo­gisch. Eine Über­tra­gung setzt TCP erst nach der er­folg­rei­chen Über­tra­gung eines Pakets fort. Die Ab­si­che­rung der Über­tra­gung erfolgt über so­ge­nann­te Acks, also Bestell- und Lie­fer­be­stä­ti­gun­gen und Prüf­num­mern. Per TCP über­mit­tel­te Daten enthalten einen Header mit Pa­ra­me­tern, die Sender-Prozessen helfen, sich mit Peer-Prozessen des Emp­fän­gers zu verbinden.

TCP ist hin­sicht­lich voll­stän­di­ger Da­ten­über­tra­gung sehr zu­ver­läs­sig, geht jedoch mit Datenstau und La­de­zei­ten einher, weil alle Über­tra­gun­gen stoppen, bis ein ver­lo­re­nes Da­ten­pa­ket er­folg­reich über­tra­gen ist. Mit HTTP/2 stößt die In­ter­net­pro­to­koll­fa­mi­lie also ge­wis­ser­ma­ßen an ihre Grenze, denn eine Be­schleu­ni­gung der Da­ten­über­tra­gung ist ohne neue Pro­to­kol­le nicht rea­li­sier­bar.

Google ent­wi­ckel­te somit proaktiv das eigene Trans­fer­pro­to­koll QUIC. QUIC umgeht TCP-Ladestaus, indem es auf die Datagram-basierte und ver­bin­dungs­lo­se UDP-Über­tra­gung zu­rück­greift. UDP arbeitet wie TCP auf der Trans­port­schicht, ver­zich­tet aber auf Empfänger-Sender-Be­stä­ti­gun­gen. Andere Streams müssen nicht auf die Über­tra­gung des vor­her­ge­hen­den warten. Round­trips zwischen Client und Server werden so deutlich verkürzt. Die IETF erkannte die Vorteile des neuen Pro­to­kolls und führte es 2018 als HTTP/2-Nach­fol­ger­ver­si­on HTTP-over-QUIC ein.

Das Trans­port­pro­to­koll HTTP bleibt dabei vom Prinzip her gleich. Es besteht weiterhin aus einem Header und Nach­rich­ten­rumpf (body) und verwendet Verben, Cookies und Caching. Der Un­ter­schied besteht in der Art der Da­ten­über­tra­gung und dem Vor­han­den­sein in­te­grier­ter Ver­schlüs­se­lung.

Welche Funktion hat HTTP/3?

Das HTTP/2-Protokoll über QUIC laufen zu lassen, er­for­der­te konkrete Funk­ti­ons­an­pas­sun­gen, die – über das ex­pe­ri­men­tel­le HTTP-over-QUIC – zu der Ent­ste­hung von HTTP/3 führten.

Die wich­tigs­te neue Funktion der dritten HTTP-Ausgabe ist die aus­schließ­li­che Ver­wen­dung von HTTPS-URLs. Jede ältere, un­ge­si­cher­te URL wird als nicht sicher bzw. nicht ver­schlüs­selt markiert. Durch die Ver­wen­dung von QUIC und UDP umgeht HTTP/3 nämlich den Schritt der TSL-Ver­schlüs­se­lung auf der TCP-Ebene und verwendet au­to­ma­tisch eine TLS-1.3-Ver­schlüs­se­lung. HTTP/3 ist somit nur anwendbar, wenn eine Ver­schlüs­se­lung existiert.

Weitere neue Funk­tio­nen sind eine konstante Ver­bin­dung, wenn das Netzwerk während der Über­tra­gung wechselt (auf Client- oder Ser­ver­sei­te), eine deutlich re­du­zier­te Zahl an Da­ten­pa­ke­ten, da die Pa­ket­über­tra­gung über parallele Streams läuft, und eine „forward error cor­rec­tion“, also eine Feh­ler­kor­rek­tur, die bereits auf QUIC-Ebene erfolgt.

Welche Vorteile bietet HTTP/3?

Die Vorteile von HTTP/3 sind bessere Über­tra­gungs­ge­schwin­dig­keit, kürzere La­de­zei­ten und eine stabilere Ver­bin­dung. Aufbauend auf UDP umgeht HTTP/3 die Schwach­punk­te von TCP und nutzt alle Vorteile von HTTP/2 und HTTP-over-QUIC.

Während HTTP/2 zwar auf Mul­ti­plex­ing zu­rück­greift, also auf das gleich­zei­ti­ge Her­un­ter­la­den von Daten, leidet die zweite HTTP-Version noch unter Head-of-line-Blocking. Dabei handelt es sich um digitale Fla­schen­häl­se, die dafür sorgen, dass alle Streams stocken, wenn auf einem Stream ein Pa­ket­ver­lust auftritt. Durch den Einsatz von UDP wartet HTTP/3 nicht auf die er­folg­rei­che Über­tra­gung, sondern setzt den La­de­vor­gang fort.

HTTP/3 ver­zich­tet auf ein­lei­ten­de Hand­shakes, um die Si­cher­heit einer Ver­bin­dung zu prüfen. Statt Si­cher­heits­an­fra­gen an die hö­her­lie­gen­de TLS-Schicht abzugeben, erfolgt die Ver­schlüs­se­lung direkt über das Trans­fer­pro­to­koll. Die Um­lauf­zeit beim Ver­bin­dungs­auf­bau reduziert HTTP/3 so von zwei auf einen Durchgang.

HTTP/3 ist für einen er­folg­rei­chen Download nicht mehr an IP-Adressen gebunden, sondern nutzt in­di­vi­du­el­le Ver­bin­dungs-IDs, die selbst bei einem Netz­werk­wech­sel den kon­stan­ten Download er­mög­li­chen.

Vor allem für Mo­bil­funk­nut­zer soll HTTP/3 durch eine stabilere, fle­xi­ble­re und schnel­le­re Ver­bin­dung kom­for­ta­ble­res Surfen er­mög­li­chen.

HTTP/2 vs. HTTP/3: Ge­mein­sam­kei­ten und Un­ter­schie­de

Im Folgenden finden Sie eine kurze Zu­sam­men­fas­sung der Ge­mein­sam­kei­ten und Un­ter­schie­de, die im Vergleich HTTP/2 vs. HTTP/3 zu erwarten sind:

Un­ter­schie­de:

  • HTTP/3 baut im Gegensatz zu HTTP/2 auf UDP statt auf TCP auf
  • Durch eine in­te­grier­te TLS-1.3-Ver­schlüs­se­lung ver­zich­tet HTTP/3 auf eine zu­sätz­li­che Ver­schlüs­se­lungs­an­fra­ge (Hand­shakes) auf der TLS-Ebene und umgeht so unnötige Si­cher­heits­ab­fra­gen.
  • Durch die in­te­grier­te TSL-1.3-Ver­schlüs­se­lung un­ter­stützt HTTP/3 im Gegensatz zu HTTP/2 nur ver­schlüs­sel­te Ver­bin­dun­gen.

Ge­mein­sam­kei­ten:

  • Beide Pro­to­kol­le nutzen Header-Kom­pres­si­on, HTTP/3 löst jedoch die an eine Pa­ket­rei­hen­fol­ge gebundene HTTP/2 HPAck-Kom­pres­si­on durch QPack ab.
  • HTTP/3 un­ter­stützt wie HTTP/2-Server-Pushs, also das be­schleu­nig­te Senden von CSS- und Ja­va­Script-Daten, die der Browser zum Dar­stel­len einer Seite sowieso benötigt.
  • Beide Pro­to­kol­le nutzen Anfrage-/Antwort-Mul­ti­plex­ing, also das parallele Streamen von Daten ver­schie­de­ner Res­sour­cen.
  • Stream-Prio­ri­sie­rung sorgt bei beiden Pro­to­kol­len dafür, dass Sei­ten­in­hal­te prio­ri­siert geladen werden, ohne auf die Fer­tig­stel­lung von weiteren Anfragen zu warten.
Hinweis

Für lange Zeit galt HTTP/2 als ef­fek­ti­ves und zu­ver­läs­si­ges Trans­fer­pro­to­koll. Wie es bis zu seiner Ablösung durch HTTP/3 Ver­bin­dun­gen sicherer und schneller machte, erfahren Sie in unserem ge­son­der­ten 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 be­trach­te­tes Netz­werk­pro­to­koll ist. Außerdem haben vor allem die Nutzer Vorteile vom neuen HTTP-Protokoll. Provider wiederum sehen sich durch die Um­stel­lung von TCP und TLS auf UDP und QUIC vor einige Her­aus­for­de­run­gen gestellt.

Da Si­cher­heits­prü­fung und Ver­schlüs­se­lung nicht mehr über TLS, sondern direkt über UDP erfolgt und UDP so viele Pakete so schnell wie möglich zustellen soll, be­fürch­ten Provider, dass der Da­ten­ver­kehr durch die fehlende TLS-Au­then­ti­fi­ka­ti­on nicht mehr gründlich geprüft wird. Die An­wen­dungs- und Da­ten­si­cher­heit ist daher der Kern­kri­tik­punkt der In­ter­net­an­bie­ter. TCP galt durch eine klare Anfrage-Antwort-Regelung als zu­ver­läs­si­ges und ver­bin­dungs­ori­en­tier­tes Protokoll. Da QUIC viele Zwi­schen­schrit­te selbst übernimmt, steht die Be­fürch­tung im Raum, dass die Kon­troll­mög­lich­kei­ten von Providern durch HTTP/3 be­schränkt werden und mehr Malware in den Da­ten­strom gelangen könnte.

Da das zu­neh­men­de Angebot an Me­dia­da­ten wie Bildern, Videos und anderen Social-Media-Elementen schnel­le­re Da­ten­über­tra­gun­gen erfordert, bleibt im Sinne der Nutzer zu hoffen, dass bald Bewegung in die In­ter­net­pro­to­koll­fa­mi­lie kommt und die Provider mit dem sich immer schneller wan­deln­den Internet mithalten können.

Zum Hauptmenü