HTTP/3 und QUIC, erklärt (und warum sich Ihre Website schneller anfühlt)
Alle paar Jahre bekommt das Web eine neue Version von HTTP, und HTTP/3 ist die größte Änderung in einer Weile — es warf TCP vollständig. Was das bedeutet, in einfachen Worten, und warum Ihr Telefon mehr als Ihr Desktop bemerkt.
HTTP/3 verschiebt das Web auf QUIC, einen Transport auf UDP anstelle von TCP. Es behebt zwei seit langem bestehende Probleme: Das Verbindungsaufbauen dauert weniger Rundfahrten, und ein verlorenes Paket stoppt nicht mehr alles dahinter. Der größte Vorteil ist bei mobilen und Fernverbindungen. Sie ändern nicht Ihre Website, um es zu bekommen - Ihr CDN spricht es und ältere Kunden fallen automatisch zurück.
Stellen Sie sich vor, Sie laden eine Seite über eine leicht unzuverlässige Verbindung herunter — einen Zug, ein geschäftiges Café, irgendwo mit ein paar Signalstäben. Zwölf Akten sind im Flug. Ein Paket, das zu einem einzigen Bild gehört, wird vermisst.
Unter TCP hört alles auf. Nicht nur das Bild – das CSS, die Schriftarten, die anderen elf Dateien. TCP garantiert die Lieferung in Auftrag, so hält es alles, was nach dem fehlenden Paket in einem Puffer angekommen ist, und weigert sich, etwas davon an den Browser zu übergeben, bis die Weiterverbreitung eintrifft. Das ist Blockierung des Kopfes der Linie, und es ist der Grund, warum eine Seite kann auf halbem Wege durch Laden einfrieren und dann alle auf einmal ankommen.
HTTP/2 sollte dies lösen. Es ließ einen Browser Multiplex viele Anfragen über eine Verbindung statt Öffnen sechs, die Fix Head-of-Line-Blockierung an der VERÖFFENTLICHUNG layer — aber alle diese Streams reisten immer noch innerhalb einer TCP-Verbindung, so dass ein verlorenes Paket immer noch alle an der Verkehr layer. HTTP/2 hat das Problem auf eine Ebene verschoben, anstatt es zu entfernen.
Die richtige Fixierung bedeutete, den Transport zu ändern. Und man kann TCP nicht ändern – es wird in Betriebssystemkernen und Middleboxen im gesamten Internet implementiert, und alle zu aktualisieren ist kein Plan. So wurde QUIC stattdessen auf UDP im Benutzerraum aufgebaut, wo es tatsächlich bereitgestellt und aktualisiert werden kann.
Was QUIC anders macht
Unabhängige Ströme
QUIC versteht, dass eine Verbindung mehrere separate Streams enthält, so dass ein verlorenes Paket nur den Stream blockiert, zu dem es gehörte. Ihr fehlendes Bildpaket stoppt das Bild. Die CSS und die Schriftarten kommen immer wieder. Auf einer sauberen drahtgebundenen Verbindung ändert sich nichts, denn nichts geht verloren. Bei einer mobilen Verbindung mit 2% Paketverlust ändert sich sehr viel.
Ein schnellerer Handschlag
Das Öffnen einer TLS-over-TCP-Verbindung bedeutet einen TCP-Handshake, dann einen TLS-Handshake – typischerweise zwei bis drei Rundfahrten, bevor Sie eine Anfrage senden können. QUIC vereint sie: Transport und kryptographische Handshakes passieren zusammen, meist in einer Runde. Bei einer Verbindung mit 150ms Latenz, die 150 bis 300 Millisekunden bei jeder neuen Verbindung spart.
Die Rückkehr der Besucher kann noch besser. QUIC unterstützt 0-RTT-Wiederaufnahme, wo ein Client, der vor dem Senden seiner ersten Anfrage verbunden hat mit Der Handshake statt danach. Es gibt einen Vorbehalt - 0-RTT-Daten können von einem Angreifer wiederholt werden, so dass es nur idempotente Anfragen tragen sollte – aber für das Abrufen einer Seite ist es eine echte Rettung.
Migration von Verbindungen
TCP identifiziert eine Verbindung durch die Kombination von Quell-IP, Quell-Port, Ziel-IP und Ziel-Port. Ändern Sie eine von ihnen und es ist eine andere Verbindung, weshalb das Gehen aus Ihrem Haus und die Umstellung von Wi-Fi auf zellularen tötet Ihren Download. QUIC identifiziert Verbindungen durch eine Verbindungs-ID, die mit ihnen reist, so dass die gleiche Verbindung überlebt den Netzwerkwechsel und der Download geht weiter.
Wenn HTTP/3 nicht viel hilft
Es lohnt sich, deutlich zu sagen, weil die Benchmarks Menschen Post neigen dazu, aus dem besten Fall kommen.
Bei einer schnellen, stabilen, verdrahteten Verbindung ohne Paketverlust laufen HTTP/3 und HTTP/2 sehr ähnlich. Die Handshake-Einsparung ist real, aber in absoluten Zahlen gering, wenn die Latenz 10ms beträgt, und es gibt keinen Verlust für Strom Unabhängigkeit zu helfen. Wenn Sie nur von Ihrem Büro aus testen, können Sie schließen, dass die ganze Sache Marketing ist.
Es gibt auch Umgebungen, in denen UDP gedrosselt oder blockiert wird — einige Unternehmensnetzwerke, einige ältere Mittelfächer. Die Clients behandeln dies, indem sie auf HTTP/2 zurückfallen, weshalb HTTP/3 eher ausgeschrieben als mandiert wird: ein Server kündigt es über die Alt-Svc header, und ein Client, der QUIC nicht einfach über TCP arbeiten lassen kann. Niemand wird gestrandet.
QUIC verschlüsselt auch fast alles, einschließlich der meisten Transport-Metadaten, die in TCP-Headern sichtbar waren. Das ist gut für die Privatsphäre, und leicht ärgerlich für Netzwerkbetreiber, die durch Lesen von Paket-Headern zu debuggen - das ist eine faire Zusammenfassung, warum Adoption so lange dauerte, wie es tat.
Was du eigentlich tun musst
Sehr wenig. HTTP/3 wird automatisch zwischen Browser und Server verhandelt, so dass der praktische Schritt bestätigt, dass alles, was vor Ihrer Website sitzt, es bietet. Wenn Ihr Datenverkehr durch ein CDN geht, ist das, wo HTTP/3 endet, und die Aktivierung ist normalerweise ein Umschalten. Ihr Ursprung kann weiterhin HTTP/1 sprechen. 1 bis zum Rand und niemand Verstand — das Bein, das profitiert, ist das, das das öffentliche Internet zu einem Telefon überquert.
Um zu überprüfen, was ein Browser ausgehandelt, öffnen Sie DevTools, gehen Sie auf die Registerkarte Netzwerk, und fügen Sie die Spalte Protokoll. Sie suchen h3. Beachten Sie, dass die allererste Anfrage an eine Domain oft zeigt h2, weil der Browser sich verbinden muss, bevor es erfahren kann, dass HTTP/3 verfügbar ist; das Upgrade geschieht bei späteren Anfragen.
Häufig gestellte Fragen
Was ist HTTP/3?
HTTP/3 ist die dritte Hauptversion des HTTP-Protokolls, die 2022 standardisiert wurde. Seine entscheidende Änderung ist, dass es über QUIC läuft, ein Transportprotokoll, das auf UDP aufgebaut ist, anstatt über TCP als HTTP/1. 1 und HTTP/2 tun. Dadurch wird das transport-level Head-of-Line-Blockieren entfernt und das Verbindungsaufbauen verkürzt, wodurch Seiten auf verlust- und hochlatency-Verbindungen zuverlässiger geladen werden.
Was ist QUIC?
QUIC ist ein auf UDP basierendes Transportprotokoll, das die Zuverlässigkeit, Ordnung und Staukontrolle von TCP bietet, aber mit unabhängigen Streams, einem kombinierten Transport und TLS-Handshake und Verbindungskennungen, die Netzwerkänderungen überstehen. Es wurde im Benutzerraum statt im Betriebssystem-Kernel entwickelt, was es über das bestehende Internet einsetzbar machte.
Ist HTTP/3 schneller als HTTP/2?
An mobilen, verlustreichen oder hochlatenzenden Verbindungen, ja – merklich. Es speichert ein bis zwei Rundfahrten bei der Verbindung und verhindert, dass ein einzelnes verlorenes Paket jeden anderen Stream aufhält. Bei einer schnellen, stabilen kabelgebundenen Verbindung ohne Paketverlust ist der Unterschied gering, da kein Problem auftritt. Der Nutzen skaliert, wie unzuverlässig das Netzwerk ist.
Muss ich meine Website ändern, um HTTP/3 zu unterstützen?
Nein. HTTP/3 wird zwischen dem Browser und jedem Server verhandelt, der die Verbindung beendet, so dass die Aktivierung auf Ihrem CDN oder Rand ausreichend ist. Ihr Anwendungscode, Ihr HTML und Ihr Origin-Server ändern sich nicht und Ihr Ursprung kann weiterhin HTTP/1 sprechen. 1 bis zum Rand. Browser, die HTTP/3 nicht automatisch verwenden können, fallen auf HTTP/2 zurück.
Wie kann ich feststellen, ob meine Website HTTP/3 verwendet?
Öffnen Sie die Entwickler-Tools Ihres Browsers, gehen Sie auf die Registerkarte Netzwerk, und aktivieren Sie die Spalte Protokoll — Anfragen über HTTP/3 als h3 angezeigt. Die erste Anfrage an eine Domain zeigt h2 oft, weil der Browser verbinden muss, bevor es HTTP/3 lernt verfügbar ist, über die Alt-Svc Antwort-Header angekündigt; spätere Anfragen verwenden h3.
Warum verwendet QUIC UDP statt TCP?
Nicht weil UDP schneller ist, sondern weil TCP praktisch nicht geändert werden kann. TCP wird weltweit in Betriebssystemkernen und Netzwerk-Middleboxen implementiert, so dass jede Änderung ein Jahrzehnt dauern würde, um zu implementieren. Aufbauend auf UDP lassen QUIC seine eigene Zuverlässigkeit und Engpasskontrolle im Benutzerraum implementieren, wo Browser und Server unabhängig Updates versenden können.
HTTP/3 tauscht TCP für QUIC aus, um langsame Handshakes und Head-of-Line-Blockierungen zu beheben. Du schreibst nichts um — du stellst sicher, dass deine Kante es spricht und lässt Kunden verhandeln. Die Auszahlung landet dort, wo es am wichtigsten ist: Telefone, schwache Signale und Besucher einen langen Weg von Ihrem Ursprung entfernt.
Sehen Sie, wie NordicCDN dies für Ihre Website tut:
Mads hat seit seinem 16. Lebensjahr in der IT gearbeitet — hauptsächlich als Hosting. Er beteiligte sich früh an einer SaaS-Firma und half, sie bis zur Übernahme durch Visma weiterzuentwickeln, hat Data-Center-Netzwerke aufgebaut und betrieben und diente als CTO eines dänischen Rechenzentrums. Er hat NordicCDN gestartet, um eine schnelle, sichere Infrastruktur einfach zu bedienen.