Firefox wird voraussichtlich Ende Mai die HTTP/3-Unterstützung einführen.

Mozilla hat seine Absicht angekündigt, mit der stufenweisen Einführung von HTTP/3 und QUIC mit der Veröffentlichung von Firefox 88 zu beginnen, die für den 19. April geplant ist (ursprünglich erwartete Veröffentlichung am 20. April, aber dem Zeitplan nach zu urteilen, wird sie um einen Tag verschoben). Die HTTP/3-Unterstützung wird zunächst nur für einen kleinen Prozentsatz der Benutzer aktiviert und, sofern keine unerwarteten Probleme auftreten, bis Ende Mai für alle bereitgestellt. In Nightly Builds und Betaversionen wurde HTTP/3 Ende März standardmäßig aktiviert.

Erinnern wir uns daran, dass die Implementierung von HTTP/3 in Firefox auf dem von Mozilla entwickelten neqo-Projekt basiert, das eine Client- und Server-Implementierung für das QUIC-Protokoll bereitstellt. Der Komponentencode für HTTP/3- und QUIC-Unterstützung ist in Rust geschrieben. Um zu steuern, ob HTTP/3 aktiviert ist, bietet about:config die Option „network.http.http3.enabled“. Von der Client-Software wurde experimentelle Unterstützung für HTTP/3 auch zu Chrome und Curl hinzugefügt und für Server ist sie in Nginx sowie in Form eines Nginx-Moduls und eines Testservers von Cloudflare verfügbar. Seitens der Website ist bereits HTTP/3-Unterstützung auf den Servern von Google und Facebook vorhanden.

Das HTTP/3-Protokoll befindet sich noch im Spezifikationsentwurfsstadium und wurde von der IETF noch nicht vollständig standardisiert. HTTP/3 erfordert Client- und Serverunterstützung für dieselbe Version des QUIC-Entwurfsstandards und HTTP/3, die im Alt-Svc-Header angegeben ist (Firefox unterstützt die Spezifikationsentwürfe 27 bis 32).

HTTP/3 definiert die Verwendung des QUIC-Protokolls als Transport für HTTP/2. Das QUIC-Protokoll (Quick UDP Internet Connections) wurde von Google seit 2013 als Alternative zur TCP+TLS-Kombination für das Web entwickelt. Es löst Probleme mit langen Einrichtungs- und Aushandlungszeiten für Verbindungen in TCP und eliminiert Verzögerungen, wenn Pakete während der Datenübertragung verloren gehen überweisen. QUIC ist eine Erweiterung des UDP-Protokolls, das das Multiplexen mehrerer Verbindungen unterstützt und Verschlüsselungsmethoden bereitstellt, die TLS/SSL entsprechen. Während der Entwicklung des IETF-Standards wurden Änderungen am Protokoll vorgenommen, die zur Entstehung zweier paralleler Zweige führten, einer für HTTP/3 und der zweite von Google unterstützte (Chrome unterstützt beide Optionen).

Hauptmerkmale von QUIC:

  • Hohe Sicherheit ähnlich wie TLS (im Wesentlichen bietet QUIC die Möglichkeit, TLS über UDP zu verwenden);
  • Kontrolle der Flussintegrität, um Paketverluste zu verhindern;
  • Die Fähigkeit, sofort eine Verbindung aufzubauen (0-RTT, in etwa 75 % der Fälle können Daten sofort nach dem Senden des Verbindungsaufbaupakets übertragen werden) und minimale Verzögerungen zwischen dem Senden einer Anfrage und dem Empfang einer Antwort (RTT, Round Trip Time) bereitzustellen;
  • Verwendung einer anderen Sequenznummer bei der erneuten Übertragung eines Pakets, wodurch Unklarheiten bei der Identifizierung empfangener Pakete vermieden und Zeitüberschreitungen vermieden werden;
  • Der Verlust eines Pakets wirkt sich nur auf die Zustellung des damit verbundenen Streams aus und stoppt nicht die Zustellung von Daten in parallelen Streams, die über die aktuelle Verbindung übertragen werden.
  • Fehlerkorrekturfunktionen, die Verzögerungen aufgrund der erneuten Übertragung verlorener Pakete minimieren. Verwendung spezieller Fehlerkorrekturcodes auf Paketebene, um Situationen zu reduzieren, die eine erneute Übertragung verlorener Paketdaten erfordern.
  • Kryptografische Blockgrenzen sind an den QUIC-Paketgrenzen ausgerichtet, wodurch die Auswirkungen von Paketverlusten auf die Dekodierung des Inhalts nachfolgender Pakete verringert werden.
  • Keine Probleme mit der TCP-Warteschlangenblockierung;
  • Unterstützung für Verbindungsidentifikatoren, wodurch die Zeit zum Herstellen einer erneuten Verbindung für mobile Clients verkürzt wird;
  • Möglichkeit der Anbindung erweiterter Mechanismen zur Kontrolle von Verbindungsüberlastungen;
  • Verwendet Techniken zur Vorhersage des Durchsatzes pro Richtung, um sicherzustellen, dass Pakete mit optimalen Raten gesendet werden und so verhindert wird, dass sie überlastet werden und Paketverluste verursachen.
  • Deutliche Steigerung der Leistung und des Durchsatzes im Vergleich zu TCP. Bei Videodiensten wie YouTube reduziert QUIC nachweislich die Umpufferungsvorgänge beim Ansehen von Videos um 30 %.
  • Source: opennet.ru

Kommentar hinzufügen