HTTP/3 Kommt QUIC, Hier ist Was Sie Wissen Müssen

0
192
Shutterstock/Robert Avgustin

HTTP/3 ist die nächste generation des HTTP-Protokolls. Es wird angetrieben durch QUIC, ersetzt die TCP in der transport-Schicht und schneidet sich auf die Anzahl der round trips, die ein client vornehmen muss, um eine Verbindung herzustellen.

Was Macht Es Besser?

Wenn du nicht sagen kannst, aus dem Akronym “QUIC” HTTP:/3 ist deutlich schneller.

HTTP ist nur ein Teil des OSI-Modells, welche Befugnisse das internet wie wir es kennen. Jede Schicht des Modells dient einem anderen Zweck, mit high-level-APIs wie HTTP, sitzen an der Spitze (den application layer), den ganzen Weg hinunter zu den physikalischen Leitungen und verbindungen, die plug-in-Router:

Aber es gibt einen Engpass in diesem Modell—und das trotz der neuen Namen, der HTTP-standard selbst ist nicht das problem.

TCP (transport layer) ist die Schuldige hier; es wurde entwickelt, in den 70ern, und als solche wurde nicht gebaut, um zu behandeln real-time-Kommunikation sehr gut. HTTP-über-TCP hat seine Grenze erreicht. Google und der rest der tech-Raum arbeiten bereits an einem Ersatz für TCP.

Im Jahr 2012, Google erstellt SPDY ist ein Protokoll baut auf TCP und behebt viele gemeinsame Probleme. SPDY selbst ist veraltet, aber Teile davon Ihren Weg in HTTP/2, der derzeit von 40% der web.

QUIC ist ein neuer standard, ähnlich wie SPDY, aber es ist gebaut auf der Oberseite des UDP statt TCP. UDP ist wesentlich schneller als TCP, wird aber in der Regel weniger zuverlässig als das es nicht die gleichen Fehler zu überprüfen und loss prevention als TCP hat. Es wird allgemein verwendet, in Anwendungen, die nicht brauchen, Pakete werden in der exakt richtigen Reihenfolge, aber kümmern die Latenz (wie live-video-Telefonie).

QUIC ist immer noch zuverlässig, aber Sie setzt Ihre Fehler zu überprüfen und Zuverlässigkeit auf der Oberseite des UDP -, so wird es das beste aus beiden Protokollen. Das erste mal, wenn ein Benutzer eine Verbindung zu einer QUIC-fähigen Website, die Sie tun müssen über TCP.

Das Haupt-problem mit TCP, QUIC fixiert, head-of-line-blocking. Sobald eine Verbindung zwischen server und client, sendet der server die Datenpakete an den client. Wenn die Verbindung schlecht ist und ein Paket verloren geht, der Kunde behält alle Pakete empfangen, nach, dass, bis der server überträgt das verlorene Paket. HTTP/2 behebt dieses Problem etwas, indem mehrere transfers über die gleiche TCP-Verbindung, aber es ist nicht perfekt und kann eigentlich langsamer als HTTP/1 mit hohem Verlust-verbindungen.

QUIC behebt dieses Problem, und beschäftigt sich mit high-loss-verbindungen viel besser. Frühe tests von Google zeigten Verbesserungen von rund 15% im high-latency-Szenarien, und bis zu 30% Verbesserungen bei der video-Pufferung auf mobile verbindungen. Da QUIC schneidet sich auf die Anzahl der handshakes, die gemacht werden müssen, gibt es Latenz Verbesserungen auf der ganzen Linie.

Ist Es Schwer Zu Implementieren?

Während QUIC ist ein neuer standard, es basiert auf UDP, der ein bereits unterstützt fast überall. Es wird nicht verlangen, jede neue kernel-updates, was problematisch sein kann für Server. QUIC sollte funktionieren out of the box auf jedem system, unterstützt UDP

HTTP-über-QUIC soll ein drop-in-Ersatz für HTTP-over-TCP, sobald es verfügbar. Zu der Zeit des Schreibens, Chrome hat die Unterstützung für QUIC, aber es ist standardmäßig deaktiviert. Sie können Sie zum testen an:

chrome://flags

und das einschalten des “Experimentellen QUIC-Protokolls” – flag. Firefox-add-Unterstützung später in diesem Herbst, und mit Edge Umzug in Chrom, Sie werden pick-up-Unterstützung auch bald.

Auf dem server Ende, Wenn Sie mit CloudFlare als Ihre CDN, Sie werden in der Lage sein, um die option zu aktivieren, die bereits in Ihrem Armaturenbrett, wenn Sie nicht viele Kunden tatsächlich nutzen es, bis die mobilen Browser haben es standardmäßig aktiviert. Schnell ist aktiv an der Unterstützung. Wenn Sie möchten, dass es auf Ihrem web-server, obwohl, müssen Sie ein bisschen warten—frühzeitige Unterstützung für QUIC ist geplant, um anzukommen während des nginx 1.17 Entwicklung Zyklus, aber Apache support ist nirgendwo in Sicht, nur noch.

Einmal nginx und Apache aktualisiert werden, um es zu unterstützen, hinzufügen QUIC auf Ihre Webseite oder web-app ist so einfach wie die Aktualisierung Ihrer web-server und die option aktivieren. Sie nicht haben, um alle änderungen an Ihrer app oder code, wie alles abgewickelt wird, auf der Ebene der Infrastruktur. Es ist noch nicht hier, aber es kommt sehr bald, und Sie werden auf jeden Fall wollen, um es zu aktivieren, sobald es standardmäßig unterstützt.