Heute ist ein großartiger Tag, da der HTTP / 2- Standard endlich fertiggestellt wurde, um eine Überprüfung durch den RFC-Editor zu bestehen und schließlich als funktionaler Standard veröffentlicht und einsatzbereit zu werden. Nachdem ich diese Neuigkeiten gesehen habe, war ich neugierig, etwas mehr über die Vorteile zu erfahren , die das neue HTTP / 2-Protokoll Benutzern bieten wird, und werde versuchen, dies in diesem Artikel zu erläutern.
All das, was so einfach zu sein scheint, hat nicht mehr als sechzehn Jahre gedauert, um Realität zu werden und den Schritt vom HTTP / 1.1-Standard zum HTTP / 2-Standard zu machen.
Das Hauptproblem des HTTP / 1.1-Protokolls besteht darin, dass es nur eine Anforderung pro TCP-Verbindung zulässt. Um dieses Problem zu lösen, haben Browser versucht, mehrere Anforderungen parallel zu stellen, indem sie mehrere gleichzeitige TCP-Verbindungen hergestellt haben. Dies ist jedoch auch kontraproduktiv, da es zu einer Überlastung des Netzwerks führt. Zusammenfassend kann man sagen, dass bei zu vielen HTTP / 1.1-Anfragen die Performance abnimmt.
Um die Leistung zu verbessern, werden beim Erstellen von Webseiten mit Sicherheit mehr als eine Audio- Übung verwendet: Erstellen Sie Sprites für Bilder, fügen Sie Javascript-Code direkt in HTML-Code ein, verknüpfen Sie Ressourcen usw.
Nachdem die Probleme des HTTP / 1.1-Protokolls bekannt waren, wurde das HTTP / 2-Protokoll basierend auf dem von Google erstellten SPDY-Protokoll entwickelt. Gleichzeitig kündigte Google an, das neue HTTP / 2-Protokoll durch den Verzicht auf SPDY zu unterstützen.
Vorteile des HTTP / 2-Protokolls
- Es ist ein binäres Protokoll anstelle des Textmodus.
- Es wird gemultiplext , so dass mehrere Anfragen gleichzeitig beantwortet werden können.
- Es wird die Komprimierung in HTTP-Headern verwendet (im HTTP / 1.1-Protokoll wurde unkomprimierter Text verwendet) .
- Es ermöglicht Servern, die Ressourcen an den Cache zu senden, die für das Laden einer Webseite als notwendig erachtet werden.
Betrachten wir nun jeden der Vorteile einzeln. Zunächst sehen wir, dass HTTP / 2 in binärer Form anstelle von Text funktioniert. Dies ist ein Vorteil, da die Arbeit in binärer Form kompakter und ohne Unannehmlichkeiten wie die Verwendung von Groß- / Kleinbuchstaben, Leerzeichen und Zeichen von ausgeführt wird Zeilenende usw.
Beim Multiplexen wird deutlich, dass die Anzahl der Verbindungen reduziert wird, wodurch die Belastung der Webserver verringert und die Ladegeschwindigkeit erheblich verbessert wird.
Bisher waren die Header der HTTP / 1.1-Anforderungen Klartext ohne Komprimierung. Im Laufe der Zeit nahmen diese Header jedoch aufgrund der Verwendung von Cookies, Browser für Benutzeragenten und einer großen Anzahl von Headern zu. . Durch die Komprimierung der Header werden bessere Reaktionszeiten und eine höhere Effizienz erzielt, insbesondere bei Mobilgeräten. Der HPACK-Algorithmus wurde für die Komprimierung der Header verwendet, da GZIP nicht sicher genug war.
Bisher wird der HTML-Code der Websites zunächst heruntergeladen und verarbeitet, um Anfragen an CSS-Ressourcen, Javascript, Bilder usw. zu richten. Mit dem neuen “Server Push” -Mechanismus können Server die Antworten zwischenspeichern, die sie für erforderlich halten, wodurch die Ladezeit verkürzt wird.
Wie wir sehen können, gibt es nicht wenige Verbesserungen, und hoffentlich wird bald das HTTP / 2-Protokoll am häufigsten verwendet, damit es sich weiterentwickeln kann. Zum Zeitpunkt der Veröffentlichung des Artikels unterstützen die Browser Chrome und FireFox bereits HTTP / 2, aber es scheint, dass Webserver derzeit nur das alte SPDY-Protokoll, nicht aber das neue HTTP / 2 unterstützen (ich gehe davon aus, dass sich dies in Kürze ändern wird). .
Sie können die offiziellen FAQ des HTTP / 2-Protokolls überprüfen.