HTTP / 2 ist eine neue Art von Ihre Website viel schneller laden durch Beseitigung vieler Ineffizienzen, die mit der aktuellen Version von HTTP verbunden sind. Das Beste daran? Sie müssen nicht zu viel Mühe aufwenden, um es in Gang zu bringen.

Oder tust du?

Was ist HTTP / 2?

Als HTTP1 und HTTP1.1 ursprünglich entwickelt wurden, war das Web sehr unterschiedlich zu dem, was es heute ist. Websites hatten weniger Ressourcen (JavaScript-Dateien, CSS-Dateien, Bilder) als heute. Die Verbindungen zum Internet waren nicht sehr schnell und die Benutzer waren nicht sehr wählerisch mit der Ladegeschwindigkeit der Website.

Benutzer beginnen, juckende Finger zu bekommen, wenn eine Website länger als 3 Sekunden dauert, um eine Antwort zu zeigen.

Du warst froh, dass eine Website voll geladen ist. Sie haben sich vielleicht heimlich beschwert, dass das Laden langsam war. Aber man konnte wirklich nicht viel dagegen tun. Das liegt daran, dass die langsame Ladezeit normalerweise von Faktoren kam, die unabhängig vom verwendeten Webserver und der verwendeten Technologie waren. Meistens war es die eigentliche Internetverbindung, die den limitierenden Faktor ausmachte.

Schnell vorwärts zum heutigen Tag. Die Ladezeit der Website wird in Millisekunden gemessen anstatt Sekunden. Benutzer beginnen, juckende Finger zu bekommen, wenn eine Website länger als 3 Sekunden dauert, um eine Antwort zu zeigen. In einer solchen Situation beginnen Ineffizienzen, die in Millisekunden mit den ursprünglichen Versionen von HTTP gezählt werden, einen echten Unterschied zu machen. Deshalb werden so viele Artikel diskutiert wie Sie Ihre Website schneller machen . Weil Millisekunden wichtig sind.

Die neue Version von HTTP, bekannt als HTTP / 2 adressiert spezifische bekannte Probleme von HTTP. Ziel ist es, eine Reihe von Problemen anzugehen, die sich mit der Entwicklung des Internets zu immer größeren Websites mit viel mehr CSS, JS und Bilddateien als ursprünglich angenommen herauskristallisiert haben.

Aber was ist falsch an HTTP1.x, und warum geben wir so viel Aufwand aus, um es schneller zu machen?

Die Probleme von HTTP1.x

HTTP1.x weist eine Reihe von inhärenten Problemen auf. Eigentlich sollten wir davon absehen, sie Probleme zu nennen. HTTP1.x bietet eine Reihe von Möglichkeiten, mit denen es effizienter sein kann.

  1. HTTP 1.x ist textbasiert: ursprünglich war die Idee, dass HTTP1.x menschenlesbar sein sollte, so dass es vollständig textbasiert war. Per Definition haben alle textbasierten Protokolle Ineffizienzen wie Leerzeichen, Link-Breaks, Großschreibung usw.
  2. Es wird immer nur eine Datei übertragen: Dies ist eines der größten Probleme mit den 1.x-Versionen von HTTP. Stellen Sie sich vor, Sie wären ein Lieferant, der nur ein Paket gleichzeitig liefern kann. Sie müssen jedes Mal zur Basis zurückkehren, wenn sie das nächste Paket liefern müssen.
  3. Für die heutigen Websites werden Hunderte von Anfragen benötigt: Wenn Sie anspruchsvollere Themen verwenden, werden die Größe der Websites und die Anzahl der Ressourcen größer. Und die Zeit, die benötigt wird, um jede Ressource zu laden. Denken Sie daran, dass unser "Zusteller" jedes Mal zur Basis zurückkehren muss, da er nicht mehr als eine Datei gleichzeitig übertragen kann.
  4. Jede Verbindung ist ein schwerer technischer Vorgang: Da Hunderte von Verbindungen benötigt werden, beginnt sich ein schwerer Overhead zu bilden. Da die Ladezeit in Millisekunden gemessen wird, beginnt die kombinierte Zeit, die erforderlich ist, um eine Verbindung für Hunderte von Ressourcen zu erstellen, sehr bedeutsam zu werden.

Viele Male mussten Webdesigner spezifische Maßnahmen implementieren, um diese Ineffizienzen zu reduzieren. Problemumgehungen wie CSS-Sprites, Minification und das Kombinieren von Dateien sollen Probleme beim Laden von Websites beheben.

Dies sind im Wesentlichen Problemumgehungen statt Fixes.

Wie HTTP / 2 die Probleme von HTTP1.x löst

HTTP / 2 ist entworfen und entwickelt von SPDY , ein Protokoll entworfen bei Google Ziel ist es, das Web 2x schneller zu machen. Es adressiert HTTP-Probleme auf folgende Weise

  1. HTTP / 2 ist für den Konsum von Computern (Ihr Webbrowser und der Webserver Ihrer Website) und nicht für Menschen gedacht . Es ist binär und nicht textbasiert, was es von Natur aus effizienter macht. Die Übertragung und Analyse der Daten erfolgt schneller über Binärprotokolle.
  2. Mehrere Dateien können gleichzeitig auf derselben Verbindung übertragen werden . Fixes wurden so implementiert, dass Sie Ressourcen in derselben Verbindung pipelieren können. Anstatt jedes Mal eine neue Verbindung zu öffnen (unser Lieferant kehrt zur Basis zurück), können alle Ressourcen auf der gleichen Verbindung transportiert werden (unser Lieferant legt alles in einem Lieferwagen ab und nimmt alles in einer einzigen Reise auf).
  3. Server-Push, um Dateien zu senden, die vom Browser benötigt werden. In HTTP1.x fragt der Web-Browser den Webserver nach den benötigten Ressourcen. HTTP Server Push (implementiert als Teil von HTTP / 2) ermöglicht dem Server, Ressourcen zu senden, von denen er weiß, dass sie der Webbrowser benötigt. Beispielsweise können Sie den Server anweisen, nicht darauf zu warten, dass der Browser nach den CSS-, JS- und anderen Ressourcendateien fragt, die der Browser sowieso benötigt.
  4. HTTP-Paket-Header und andere Optimierungen - das sind technische Verbesserungen, die die tatsächliche Effizienz von Übertragungen verbessern sollen

Was ist erforderlich, um HTTP2 zu aktivieren?

Da sie HTTP / 2 nicht über unverschlüsselte Verbindungen unterstützen, sind die Website-Besitzer stark darin gestärkt, HTTPs für ihre Website zu implementieren.

Zurück am Anfang des Artikels sagten wir, dass von Ihrem Ende an nicht viel Aufwand erforderlich ist, um HTTP / 2 zu aktivieren. Die Aktivierung von HTTP / 2 muss auf Web-Server-Ebene erfolgen. Die meisten Webserver wie Apache, Nginx, IIS und andere wichtige Webserver haben bereits Unterstützung für HTTP / 2.

Wenn Sie Ihren eigenen Webserver betreiben, müssen Sie lediglich die HTTP / 2-Bibliotheken installieren und aktivieren. Wenn Ihre Website bei einem Hostingunternehmen gehostet wird, erkundigen Sie sich beim Unternehmen, ob der Webserver bereits für HTTP / 2 aktiviert ist.

Der Fang? Sichere Zertifikate

Vielleicht waren die Dinge zu gut, um wahr zu sein. Wir haben gerade besprochen, wie Webserver HTTP / 2 bereits vollständig unterstützen.

Die meisten gängigen Webbrowser unterstützen auch vollständig HTTP / 2. Sie haben sich jedoch auch dafür entschieden, HTTP / 2 nur im verschlüsselten Modus zu unterstützen. Der Grund dafür ist, dass es eine starke Bewegung gegeben hat, HTTPS (Verschlüsselung) überall im Web zu aktivieren. Solche Initiativen wie HTTPS überall drängen Sie stark auf die Notwendigkeit von HTTPS auf allen Websites.

Da sie HTTP / 2 nicht über unverschlüsselte Verbindungen unterstützen, sind die Website-Besitzer stark darin gestärkt, HTTPs für ihre Website zu implementieren.

Natürlich ist das nicht unbedingt eine schlechte Sache. Die Implementierung von HTTPS bietet erhebliche Sicherheits- und Datenschutzvorteile. Mit Unternehmen, die zusammenkommen, um eine Zertifizierungsstelle zu gründen Lass uns verschlüsseln Um kostenlose sichere Zertifikate zu ermöglichen, werden die Gesamtkosten, um tatsächlich ein Zertifikat zu erwerben und HTTPS zu implementieren, viel billiger. Das war bis vor einiger Zeit relativ teuer.

Implementieren von HTTPS ist nicht etwas, das Sie tun sollten, ohne es die notwendigen gebührenden Gedanken zu geben. Vielleicht möchten Sie dies mit Ihrem vertrauenswürdigen Website-Entwickler oder jemandem mit genügend technischer Expertise besprechen. In den meisten Fällen sollte Ihr Hosting-Unternehmen in der Lage sein, Sie durch diese zu führen.

Natürlich wird dringend empfohlen, dass Sie HTTPS implementieren. Neben der zusätzlichen Sicherheit erhalten Sie die Möglichkeit, HTTP / 2 zu aktivieren und Ihre Website schneller zu machen. Das nennen wir eine Win-Win-Situation.

Sind noch andere Optimierungstechniken notwendig?

Ja und nein.

Bestimmte Optimierungen zur Reduzierung von Web-Anfragen werden überflüssig. Wenn Ihre Website Rechenzeit benötigt, um JS-, CSS- und andere Dateien zu "kombinieren", ist dies tatsächlich ein Overhead-Aufwand. Jede Zeit, in der die oben genannten Ineffizienzen "verschwendet" werden, ist nicht länger notwendig.

Auf der anderen Seite sollten solche Optimierungen wie Caching, Reduzierung der Größe von Ressourcen, Bereitstellung von Inhalten über ein CDN, Auswahl eines großen Hosting-Servers und andere Optimierungen, die auf verschiedene Ineffizienzen abzielen, beibehalten werden.

Das Tolle an HTTP / 2 ist, dass es nicht nur Ihre Website schneller lädt, sondern Sie auch dazu bringt, Ihre Website sicherer zu machen. Es gibt keinen Grund, dass es Vorteile für beide gibt. HTTP / 2 ist der nächste Schritt, um das gesamte Web schneller zu machen. Lasst uns alle Teil des Ganzen sein und es geschehen lassen.