Das Hyper Text Transfer Protocol (HTTP), das einfache, beschränkte und letztlich langweilige Protokoll der Anwendungsschicht, bildet die Grundlage des World Wide Web. Im Wesentlichen ermöglicht HTTP den Abruf von netzwerkverbundenen Ressourcen, die in der Cyberwelt verfügbar sind, und hat sich im Laufe der Jahrzehnte zu einem schnellen, sicheren und reichhaltigen Medium für die digitale Kommunikation entwickelt.

Bei Kinsta sind wir der Optimierung der Ladezeiten der auf unserer Plattform gehosteten Webseiten verfallen, und wir haben bereits zahlreiche Leitfäden zu diesem Thema veröffentlicht. Werfe einfach einen Blick auf A Beginner’s Guide to Website Speed Optimization.

Da wir bei neuen Technologien immer auf dem neuesten Stand sind, haben wir dafür gesorgt, dass die gesamte Kinsta-Webseite und der Admin auf HTTP/2 läuft, und unsere neue Google Cloud-Infrastruktur unterstützt HTTP/2 für alle unsere Kunden. Diese umfangreiche Informationsquelle erklärt HTTP/2 für Endbenutzer, Entwickler und Unternehmen, die Innovationen verfolgen. Von grundlegenden Informationen bis hin zu fortgeschritteneren Themen erfährt man hier alles, was man über HTTP/2 wissen muss.

Dieser Leitfaden beleuchtet die folgenden Schlüsselaspekte von HTTP/2:

Was ist HTTP/2?

HTTP wurde ursprünglich von Tim Berners-Lee vorgeschlagen, dem Pionier des World Wide Web, der das Anwendungsprotokoll mit Blick auf Einfachheit entworfen hat, um Datenkommunikationsfunktionen auf hoher Ebene zwischen Web-Servern und Clients durchzuführen.

Die erste dokumentierte Version von HTTP wurde 1991 als HTTP0.9 veröffentlicht, was später zur offiziellen Einführung und Anerkennung von HTTP1.0 im Jahr 1996 führte. HTTP1.1 folgte 1997 und hat seitdem nur wenige iterative Verbesserungen erhalten.

HTTP-Zeitleiste
HTTP-Zeitleiste

Im Februar 2015 überarbeitete die HTTP-Arbeitsgruppe der Internet Engineering Task Force (IETF) HTTP und entwickelte die zweite Hauptversion des Anwendungsprotokolls in Form von HTTP/2. Im Mai 2015 wurde die HTTP/2-Implementierungsspezifikation als Antwort auf das HTTP-kompatible SPDY-Protokoll von Google offiziell standardisiert. Das Argument HTTP/2 vs. SPDY zieht sich durch den gesamten Leitfaden.

Was ist ein Protokoll?

Die Debatte HTTP/2 vs. HTTP1 muss mit einer kurzen Einführung in den in dieser Ressource häufig verwendeten Begriff Protokoll fortgesetzt werden. Ein Protokoll ist eine Reihe von Regeln, die die Mechanismen der Datenkommunikation zwischen Clients (z.B. Webbrowser, die von Internetbenutzern zur Anforderung von Informationen verwendet werden) und Servern (die Rechner, die die angeforderten Informationen enthalten) regeln.

Protokolle bestehen in der Regel aus drei Hauptteilen: Header, Payload und Footer. Die Kopfzeile, die vor der Nutzlast platziert wird, enthält Informationen wie Quell- und Zieladresse sowie weitere Details (wie Größe und Typ) zur Nutzlast. Die Payload ist die eigentliche Information, die mit Hilfe des Protokolls übertragen wird. Die Fußzeile folgt der Payload und dient als Kontrollfeld, um Client-Server-Anfragen zusammen mit dem Header an die vorgesehenen Empfänger zu leiten, um sicherzustellen, dass die Payload-Daten fehlerfrei übertragen werden.

E-Mail HTTP/2
E-Mail HTTP/2

Das System ist ähnlich wie der Postversand. Der Brief (Payload) wird vor dem Versand in einen Umschlag (Header) mit aufgedruckter Zieladresse gesteckt und mit Kleber und Briefmarke (Footer) verschlossen. Die Übertragung digitaler Informationen in Form von 0 und 1 ist jedoch nicht so einfach und erfordert eine Innovation in einer neuen Dimension als Antwort auf die zunehmenden technologischen Fortschritte, die mit der explosionsartigen Zunahme der Internetnutzung einhergehen.

Das HTTP-Protokoll bestand ursprünglich aus Grundbefehlen: GET, um Informationen vom Server abzurufen, und POST, um die angeforderten Informationen an den Client zu liefern. Dieser einfache und scheinbar langweilige Satz von wenigen Befehlen für GET-Daten und POST-Antwort bildete im Wesentlichen die Grundlage, um auch andere Netzwerkprotokolle zu konstruieren. Das Protokoll ist ein weiterer Schritt zur Verbesserung der Benutzerfreundlichkeit und Effektivität des Internets, der eine HTTP/2-Implementierung zur Verbesserung der Online-Präsenz erforderlich macht.

Ziel der Erstellung von HTTP/2

Seit seiner Einführung in den frühen 1990er Jahren hat HTTP nur wenige größere Überarbeitungen erfahren. Die jüngste Version, HTTP1.1, dient der Cyberwelt seit über 15 Jahren. Webseiten in der heutigen Ära dynamischer Informationsaktualisierungen, ressourcenintensiver Multimedia-Inhaltsformate und einer übermäßigen Neigung zur Web-Performance haben alte Protokolltechnologien in die Kategorie der Altlasten fallen lassen. Diese Trends erfordern bedeutende HTTP/2-Änderungen, um die Internet-Erfahrung zu verbessern.

Internet-Erfahrung
Internet-Erfahrung

Das primäre Ziel bei der Forschung und Entwicklung für eine neue Version von HTTP konzentriert sich auf drei Qualitäten, die selten mit einem einzigen Netzwerkprotokoll in Verbindung gebracht werden, ohne dass zusätzliche Netzwerktechnologien erforderlich sind: Einfachheit, hohe Leistung und Robustheit. Diese Ziele werden durch die Einführung von Fähigkeiten erreicht, die die Latenz bei der Verarbeitung von Browser-Anfragen mit Techniken wie Multiplexing, Komprimierung, Anfragepriorisierung und Server-Push reduzieren.

Mechanismen wie Flusskontrolle, Upgrade und Fehlerbehandlung funktionieren als Erweiterungen des HTTP-Protokolls für Entwickler, um eine hohe Leistung und Belastbarkeit webbasierter Anwendungen zu gewährleisten.

Das kollektive System ermöglicht es den Servern, effizient mit mehr Inhalten zu antworten, als ursprünglich von den Clients angefordert wurden, so dass der Benutzer nicht mehr ständig Informationen anfordern muss, bis die Webseite vollständig im Webbrowser geladen ist. Beispielsweise ermöglicht die Server-Push-Fähigkeit mit HTTP/2 den Servern, mit dem vollständigen Inhalt einer Seite zu antworten, die nicht bereits im Cache des Browsers vorhanden ist. Die effiziente Komprimierung von HTTP-Header-Dateien minimiert den Protokoll-Overhead, um die Leistung bei jeder Browser-Anfrage und Server-Antwort zu verbessern.

HTTP/2-Änderungen sind so konzipiert, dass die Interoperabilität und Kompatibilität mit HTTP 1.1 erhalten bleibt. Es wird erwartet, dass die Vorteile von HTTP/2 im Laufe der Zeit auf der Grundlage von Experimenten in der realen Welt zunehmen werden, und seine Fähigkeit, leistungsbezogene Probleme im Vergleich zu HTTP1.1 in der realen Welt zu lösen, wird seine Entwicklung langfristig stark beeinflussen.

„…wir ersetzen nicht das gesamte HTTP – die Methoden, Statuscodes und die meisten der Header, die Sie heute verwenden, werden die gleichen sein. Stattdessen definieren wir neu, wie es „on the wire“ verwendet wird, damit es effizienter und schonender für das Internet selbst ist…“. Mark Nottingham, Vorsitzender der IETF-HTTP-Arbeitsgruppe und Mitglied der W3C-TAG.  Quelle

Es ist wichtig zu beachten, dass die neue HTTP-Version als eine Erweiterung des Vorgängers kommt und HTTP1.1 voraussichtlich nicht in naher Zukunft ersetzen wird. Die HTTP/2-Implementierung wird nicht die automatische Unterstützung aller mit HTTP1.1 verfügbaren Verschlüsselungstypen ermöglichen, öffnet aber definitiv die Tür für bessere Alternativen oder zusätzliche Aktualisierungen der Verschlüsselungskompatibilität in naher Zukunft. Funktionsvergleiche wie HTTP/2 vs. HTTP1 und SPDY vs. HTTP/2 zeigen jedoch nur das neueste Anwendungsprotokoll als Sieger in Bezug auf Leistung, Sicherheit und Zuverlässigkeit gleichermaßen.

Sicherheitsverschlüsselung
Sicherheitsverschlüsselung

Was war falsch an HTTP 1.1?

HTTP1.1 war auf die Verarbeitung nur einer ausstehenden Anfrage pro TCP-Verbindung beschränkt, wodurch die Browser gezwungen waren, mehrere TCP-Verbindungen zu verwenden, um mehrere Anfragen gleichzeitig zu verarbeiten.

Die parallele Verwendung von zu vielen TCP-Verbindungen führt jedoch zu einer TCP-Überlastung, die zu einer unfairen Monopolisierung von Netzwerkressourcen führt. Web-Browser, die mehrere Verbindungen zur Verarbeitung zusätzlicher Anforderungen verwenden, belegen einen größeren Anteil der verfügbaren Netzwerkressourcen, wodurch die Netzwerkleistung für andere Benutzer herabgesetzt wird.

HTTP-Anfragen
HTTP-Anfragen

Die Ausgabe mehrerer Anfragen vom Browser aus führt auch zu einer Datenverdoppelung auf den Datenübertragungsleitungen, was wiederum zusätzliche Protokolle erfordert, um die gewünschten Informationen an den Endknoten fehlerfrei zu extrahieren.

Die Internetbranche war natürlich gezwungen, diese Einschränkungen mit Praktiken wie Domain-Sharing, Verkettung, Daten-Inlining und Spriting, unter anderem, zu hacken. Die ineffektive Nutzung der zugrundeliegenden TCP-Verbindungen mit HTTP1.1 führt auch zu einer schlechten Priorisierung der Ressourcen, was zu einer exponentiellen Verschlechterung der Leistung führt, wenn Web-Anwendungen in Bezug auf Komplexität, Funktionalität und Umfang wachsen.

Domain-Sharing
Domain-Sharing

Das Web hat sich weit über die Kapazität der veralteten HTTP-basierten Netzwerktechnologien hinaus entwickelt. Die vor über einem Jahrzehnt entwickelten Kernqualitäten von HTTP1.1 haben die Türen zu mehreren peinlichen Leistungs- und Sicherheitslücken geöffnet.

Der Cookie-Hack zum Beispiel ermöglicht es Cyberkriminellen, eine frühere Arbeitssitzung wiederzuverwenden, um Kontopasswörter zu kompromittieren, da HTTP1.1 keine Möglichkeiten zur Identifizierung von Sitzungsendpunkten bietet. Während die ähnlichen Sicherheitsbedenken HTTP/2 weiterhin verfolgen werden, ist das neue Anwendungsprotokoll mit besseren Sicherheitsfunktionen ausgestattet, wie z.B. der verbesserten Implementierung neuer TLS-Funktionen.

HTTP/2-Feature-Upgrades

Multiplex-Streams

Bidirektionale Sequenzen von Textformatrahmen, die über das HTTP/2-Protokoll gesendet und zwischen Server und Client ausgetauscht werden, werden als „Streams“ bezeichnet. Frühere Iterationen des HTTP-Protokolls waren in der Lage, jeweils nur einen Stream mit einer gewissen Zeitverzögerung zwischen den einzelnen Stream-Übertragungen zu übertragen.

Der Empfang von Tonnen von Medieninhalten über einzelne Streams, die einer nach dem anderen gesendet werden, ist sowohl ineffizient als auch ressourcenintensiv. Die HTTP/2-Änderungen haben dazu beigetragen, eine neue binäre Framing-Schicht zu etablieren, die diesen Bedenken Rechnung trägt.

Diese Schicht ermöglicht es Client und Server, die HTTP-Nutzlast in kleine, unabhängige und handhabbare verschachtelte Sequenzen von Frames zu zerlegen. Diese Informationen werden dann am anderen Ende wieder zusammengefügt.

HTTP/2-Streams
HTTP/2-Streams

Binäre Frame-Formate ermöglichen den Austausch mehrerer, gleichzeitig offener, unabhängiger bidirektionaler Sequenzen ohne Latenz zwischen aufeinanderfolgenden Streams. Dieser Ansatz bietet eine Reihe von Vorteilen von HTTP/2, die im Folgenden erläutert werden:

  • Die parallel gemultiplexten Anfragen und Antworten blockieren sich nicht gegenseitig.
  • Eine einzige TCP-Verbindung wird verwendet, um trotz der Übertragung mehrerer Datenströme eine effektive Nutzung der Netzwerkressourcen zu gewährleisten.
  • Es besteht keine Notwendigkeit, unnötige Optimierungs-Hacks – wie z. B. Image-Sprites, Verkettung und Domain-Sharding u. a. – anzuwenden, die andere Bereiche der Netzwerkleistung beeinträchtigen.
  • Reduzierte Latenzzeit, schnellere Web-Performance, bessere Platzierung in Suchmaschinen.
  • Geringere OpEx und CapEx bei der Ausführung von Netzwerk- und IT-Ressourcen.

Mit dieser Fähigkeit werden Datenpakete aus mehreren Strömen im Wesentlichen gemischt und über eine einzige TCP-Verbindung übertragen. Diese Pakete werden dann auf der Empfangsseite aufgeteilt und als einzelne Datenströme dargestellt. Für die gleichzeitige Übertragung mehrerer paralleler Anfragen über HTTP Version 1.1 oder früher waren mehrere TCP-Verbindungen erforderlich, die trotz der Übertragung von mehr Datenströmen mit höheren Geschwindigkeiten naturgemäß zu Engpässen in der Gesamtnetzwerkleistung führen.

HTTP/2-Server-Push

Diese Fähigkeit ermöglicht es dem Server, zusätzliche zwischenspeicherbare Informationen an den Client zu senden, die nicht angefordert werden, aber bei zukünftigen Anfragen erwartet werden. Wenn der Client z.B. die Ressource X anfordert und davon ausgegangen wird, dass die Ressource Y mit der angeforderten Datei referenziert ist, kann der Server wählen, Y zusammen mit X zu pushen, anstatt auf eine entsprechende Client-Anforderung zu warten.

Push HTTP/2
HTTP/2 Push

Der Client legt die gepushte Ressource Y zur späteren Verwendung in seinen Cache. Dieser Mechanismus erspart einen Request-Antwort-Roundtrip und reduziert die Netzwerklatenz. Server-Push wurde ursprünglich im SPDY-Protokoll von Google eingeführt. Stream-Kennungen, die Pseudo-Kopfzeilen wie :path enthalten, ermöglichen es dem Server, den Push für Informationen zu initiieren, die im Cache gespeichert werden müssen. Der Client muss dem Server ausdrücklich erlauben, cachespeicherbare Ressourcen mit HTTP/2 zu pushen oder gepushte Streams mit einer bestimmten Stream-Kennung zu beenden.

Andere HTTP/2-Änderungen wie Server-Push aktualisieren oder invalidieren proaktiv den Cache des Clients und werden auch als „Cache-Push“ bezeichnet. Langfristige Konsequenzen drehen sich um die Fähigkeit von Servern, mögliche Push-fähige Ressourcen zu identifizieren, die der Client eigentlich nicht will.

Die HTTP/2-Implementierung bietet eine beträchtliche Leistung für Push-Ressourcen, wobei weitere Vorteile von HTTP/2 im Folgenden erläutert werden:

  • Der Client spart gepushte Ressourcen im Cache.
  • Der Client kann diese zwischengespeicherten Ressourcen auf verschiedenen Seiten wiederverwenden.
  • Der Server kann die gepushten Ressourcen zusammen mit den ursprünglich angeforderten Informationen innerhalb derselben TCP-Verbindung multiplexen.
  • Der Server kann Push-Ressourcen priorisieren – ein wichtiges Leistungsunterscheidungsmerkmal bei HTTP/2 gegenüber HTTP1.
  • Der Client kann gepushte Ressourcen ablehnen, um ein effektives Repository von zwischengespeicherten Ressourcen aufrechtzuerhalten, oder Server-Push vollständig deaktivieren.
  • Der Client kann auch die Anzahl der gleichzeitig gemultiplexten Push-Streams begrenzen.

Ähnliche Push-Fähigkeiten sind bereits mit suboptimalen Techniken wie Inline-to-Push-Server-Antworten verfügbar, wohingegen Server-Push eine Lösung auf Protokollebene darstellt, um Komplexitäten mit Optimierungs-Hacks zu vermeiden, die den Basisfähigkeiten des Anwendungsprotokolls selbst untergeordnet sind.

HTTP/2 multiplext und priorisiert den gepushten Datenstrom, um eine bessere Übertragungsleistung wie bei anderen Anfrage-Antwort-Datenströmen zu gewährleisten. Als eingebauter Sicherheitsmechanismus muss der Server zuvor autorisiert werden, die Ressourcen zu pushen.

HTTP/2 autorisiert
HTTP/2 autorisiert

Binäre Protokolle

Die neueste HTTP-Version hat sich in Bezug auf Fähigkeiten und Attribute wie die Umwandlung von einem Textprotokoll in ein Binärprotokoll erheblich weiterentwickelt. HTTP1.x wurde zur Verarbeitung von Textbefehlen verwendet, um Anfrage-Antwort-Zyklen abzuschließen. HTTP/2 verwendet binäre Befehle (in 1s und 0s), um die gleichen Aufgaben auszuführen. Dieses Attribut erleichtert Komplikationen beim Framing und vereinfacht die Implementierung von Befehlen, die aufgrund von Befehlen, die Text und optionale Leerzeichen enthalten, verwirrend vermischt wurden.

Obwohl das Lesen von binären Befehlen im Vergleich zu Textbefehlen wahrscheinlich mehr Aufwand erfordert, ist es für das Netzwerk einfacher, binär verfügbare Frames zu generieren und zu parsen. Die eigentliche Semantik bleibt unverändert.

Binäre Protokolle
Binäre Protokolle

Browser, die eine HTTP/2-Implementierung verwenden, konvertieren dieselben Textbefehle in Binärform, bevor sie über das Netzwerk übertragen werden. Die binäre Framing-Schicht ist nicht abwärtskompatibel mit HTTP1.x-Clients und -Servern und ein Schlüsselfaktor für die Erzielung erheblicher Leistungsvorteile gegenüber SPDY und HTTP1.x. Die Verwendung binärer Befehle zur Ermöglichung wichtiger Geschäftsvorteile für Internetfirmen und Online-Geschäfte wird im Folgenden mit den Vorteilen von HTTP/2 erläutert:

  • Geringer Overhead beim Parsen von Daten – ein entscheidender Wertbeitrag bei HTTP/2 gegenüber HTTP1.
  • Weniger anfällig für Fehler.
  • Geringerer Platzbedarf im Netzwerk.
  • Effektive Nutzung der Netzwerkressourcen.
  • Eliminierung von Sicherheitsbedenken im Zusammenhang mit der textuellen Natur von HTTP1.x, wie z. B. Response-Splitting-Angriffe.
  • Ermöglicht andere Fähigkeiten des HTTP/2 einschließlich Komprimierung, Multiplexing, Priorisierung, Ablaufsteuerung und effektive Handhabung von TLS.
  • Kompakte Darstellung von Befehlen zur leichteren Verarbeitung und Implementierung.
  • Effizient und robust in Bezug auf die Verarbeitung von Daten zwischen Client und Server.

Stream-Priorisierung

Die HTTP/2-Implementierung ermöglicht es dem Client, bestimmte Datenströme zu bevorzugen. Obwohl der Server nicht verpflichtet ist, diesen Anweisungen des Clients zu folgen, erlaubt der Mechanismus dem Server, die Zuweisung von Netzwerkressourcen auf der Grundlage der Anforderungen der Endbenutzer zu optimieren.

HTTP/2-Gewicht
HTTP/2-Gewicht

 

Die Stream-Priorisierung arbeitet mit Abhängigkeiten und Gewichten, die jedem Stream zugeordnet sind. Obwohl alle Streams inhärent voneinander abhängig sind, werden auch den abhängigen Streams Gewichte zwischen 1 und 256 zugewiesen. Die Details für die Mechanismen der Stream-Priorisierung werden noch diskutiert.

In der realen Welt hat der Server jedoch selten die Kontrolle über Ressourcen wie CPU und Datenbankverbindungen. Die Komplexität der Implementierung selbst hindert die Server daran, Stream-Prioritätsanforderungen zu berücksichtigen. Forschung und Entwicklung in diesem Bereich ist für den langfristigen Erfolg von HTTP/2 besonders wichtig, da das Protokoll in der Lage ist, mehrere Datenströme mit einer einzigen TCP-Verbindung zu verarbeiten.

Diese Fähigkeit kann zum gleichzeitigen Eintreffen von Server-Anforderungen führen, die sich aus der Sicht des Endbenutzers tatsächlich in ihrer Priorität unterscheiden. Das Zurückhalten von Datenstromverarbeitungsanforderungen auf zufälliger Basis untergräbt die Effizienz und das Endbenutzererlebnis, die durch HTTP/2-Änderungen versprochen werden. Gleichzeitig bietet ein intelligenter und weit verbreiteter Mechanismus zur Priorisierung von Datenströmen Vorteile von HTTP/2, die im Folgenden erläutert werden:

  • Effektive Nutzung der Netzwerkressourcen.
  • Reduzierte Zeit für die Bereitstellung primärer Inhaltsanforderungen.
  • Verbesserte Seitenladegeschwindigkeit und Endbenutzererfahrung.
  • Optimierte Datenkommunikation zwischen Client und Server.
  • Geringere negative Auswirkungen von Bedenken hinsichtlich der Netzwerklatenz..
Laden von HTTP/2-Seiten
Laden von HTTP/2-Seiten

Stateful-Header-Komprimierung

Die Bereitstellung eines hochwertigen Web-Benutzererlebnisses erfordert Webseiten, die viele Inhalte und Grafiken enthalten. Das HTTP-Anwendungsprotokoll ist zustandslos, was bedeutet, dass jede Client-Anfrage so viele Informationen enthalten muss, wie der Server benötigt, um die gewünschte Operation auszuführen. Dieser Mechanismus bewirkt, dass die Datenströme mehrere sich wiederholende Informationsframes tragen, so dass der Server selbst keine Informationen aus früheren Client-Anfragen speichern muss.

Im Falle von Webseiten, die medienreiche Inhalte anbieten, schieben Clients mehrere nahezu identische Header-Frames, was zu Latenzzeiten und unnötigem Verbrauch der begrenzten Netzwerkressourcen führt. Eine priorisierte Mischung von Datenströmen kann die gewünschten Leistungsstandards der Parallelität nicht erreichen, ohne diesen Mechanismus zu optimieren.

HTTP/2-HPACK-Komprimierung
HTTP/2-HPACK-Komprimierung

 

Die HTTP/2-Implementierung begegnet diesen Bedenken mit der Möglichkeit, eine große Anzahl von redundanten Header-Frames zu komprimieren. Sie verwendet die HPACK-Spezifikation als einen einfachen und sicheren Ansatz zur Header-Komprimierung. Sowohl Client als auch Server führen eine Liste von Headern, die in früheren Client-Server-Anfragen verwendet wurden.

HPACK komprimiert den individuellen Wert jedes Headers, bevor er an den Server übertragen wird, der dann die kodierten Informationen in der Liste der zuvor übertragenen Header-Werte nachschlägt, um die vollständigen Header-Informationen zu rekonstruieren. Die HPACK-Header-Komprimierung für die HTTP/2-Implementierung bietet immense Leistungsvorteile, einschließlich einiger Vorteile von HTTP/2, die im Folgenden erläutert werden:

  • Effektive Stream-Priorisierung.
  • Effektive Nutzung von Multiplexing-Mechanismen.
  • Geringerer Ressourcen-Overhead – einer der frühesten Problembereiche in den Debatten über HTTP/2 vs. HTTP1 und HTTP/2 vs. SPDY.
  • Kodiert sowohl große Header als auch häufig verwendete Header, wodurch die Notwendigkeit entfällt, den gesamten Header-Frame selbst zu senden. Die individuelle Übertragungsgröße jedes Datenstroms schrumpft schnell.
  • Nicht anfällig für Sicherheitsangriffe wie CRIME, das Datenströme mit komprimierten Headern ausnutzt.

Ähnlichkeiten mit HTTP1.x und SPDY

Die zugrundeliegende Anwendungssemantik von HTTP, einschließlich HTTP-Statuscodes, URIs, Methoden und Header-Dateien, bleibt in der neuesten Iteration von HTTP/2 unverändert. HTTP/2 basiert auf SPDY, Googles Alternative zu HTTP1.x. Die wirklichen Unterschiede liegen in den Mechanismen, die zur Verarbeitung von Client-Server-Anfragen verwendet werden. Das folgende Diagramm zeigt einige Bereiche mit Ähnlichkeiten und Verbesserungen zwischen HTTP1.x, SPDY und HTTP/2 auf:

HTTP1.x SPDY HTTP2
SSL nicht erforderlich, aber empfohlen. SSL erforderlich. SSL nicht erforderlich, aber empfohlen..
Langsame Verschlüsselung. Schnelle Verschlüsselung. Noch schnellere Verschlüsselung.
Eine Client-Server-Anfrage pro TCP-Verbindung. Mehrere Client-Server-Anfragen pro TCP-Verbindung. Erfolgt jeweils auf einem einzelnen Host. Multi-Host-Multiplexing. Tritt auf mehreren Hosts zu einem einzigen Zeitpunkt auf.
Keine Header-Komprimierung. Header-Kompression eingeführt. Header-Kompression unter Verwendung verbesserter Algorithmen, die sowohl die Leistung als auch die Sicherheit verbessern.
Keine Stream-Priorisierung. Stream-Priorisierung eingeführt. Verbesserte Mechanismen zur Priorisierung von Datenströmen verwendet.

Wie funktioniert HTTP/2 mit HTTPS?

HTTPS wird verwendet, um ein ultra-sicheres Netzwerk aufzubauen, das Computer, Maschinen und Server verbindet, um sensible Geschäfts- und Verbraucherinformationen zu verarbeiten. Banken, die Finanztransaktionen verarbeiten, und Einrichtungen des Gesundheitswesens, die Patientenakten führen, sind Hauptziele von Cyberkriminalität. HTTPS fungiert als wirksame Schicht gegen anhaltende Bedrohungen durch Cyberkriminalität, obwohl es nicht die einzige Sicherheitseinrichtung ist, die zur Abwehr ausgeklügelter Cyberangriffe auf hochwertige Unternehmensnetzwerke eingesetzt wird.

HTTP/2 HTTPS
HTTP/2 HTTPS

Die HTTP/2-Browserunterstützung umfasst HTTPS-Verschlüsselung und ergänzt die gesamte Sicherheitsleistung von HTTPS-Bereitstellungen. Funktionen wie weniger TLS-Handshakes, geringer Ressourcenverbrauch sowohl auf Client- als auch auf Serverseite und verbesserte Möglichkeiten zur Wiederverwendung bestehender Web-Sitzungen bei gleichzeitiger Beseitigung der mit HTTP1.x verbundenen Schwachstellen machen HTTP/2 zu einem wichtigen Faktor für die sichere digitale Kommunikation in sensiblen Netzwerkumgebungen.

HTTP/2-Verschlüsselung
HTTP/2-Verschlüsselung

HTTPS ist nicht auf hochkarätige Organisationen beschränkt, und Cybersicherheit ist ebenso wertvoll für Online-Geschäftsinhaber, Gelegenheitsblogger, E-Commerce-Händler und sogar Nutzer sozialer Medien. HTTP/2 erfordert von Natur aus die neueste und sicherste TLS-Version, und alle Online-Communities, Geschäftsinhaber und Webmaster müssen sicherstellen, dass ihre Webseiten standardmäßig HTTPS verwenden.

Zu den üblichen Verfahren zur Einrichtung von HTTPS gehören die Verwendung von Webhosting-Angeboten, der Kauf, die Aktivierung und Installation eines Sicherheitszertifikats und schließlich die Aktualisierung der Webseite zur Verwendung von HTTPS.

Die Hauptvorteile von HTTP/2

Die Internetbranche musste das veraltete HTTP1.x durch eine Alternative ersetzen, die für den durchschnittlichen Benutzer Vorteile verspricht. Der Übergang von HTTP1.x zu HTTP/2 basiert fast ausschließlich auf der Maximierung des Potenzials der technologischen Fortschritte, um diese Erwartungen zu erfüllen. Aus der Perspektive von Online-Unternehmen und Internet-Konsumenten wird das Web immer langsamer, da es immer mehr mit irrelevanten, medienreichen Inhalten überschwemmt wird. Damit Online-Unternehmen ihren Zielmarkt effektiv erreichen und Internet-Nutzer schneller auf bessere Web-Inhalte zugreifen können, werden HTTP/2-Änderungen entwickelt, um die Effizienz der Client-Server-Datenkommunikation zu steigern. Und obendrein ist das Web situativer als je zuvor.

Internet-Geschwindigkeit
Internet-Geschwindigkeit

Die Internetgeschwindigkeit ist nicht in allen Netzwerken und an allen geographischen Standorten gleich. Die zunehmend mobile Benutzerbasis erfordert ein nahtloses Hochleistungs-Internet über alle Geräteformfaktoren hinweg, auch wenn überlastete Mobilfunknetze nicht mit dem Hochgeschwindigkeits-Breitband-Internet konkurrieren können. Ein vollständig überarbeiteter und überholter Netzwerk- und Datenkommunikationsmechanismus in Form von HTTP/2 erwies sich als praktikable Lösung mit den folgenden wesentlichen Vorteilen.

Web-Performance

Der Begriff fasst alle Vorteile von HTTP/2-Änderungen zusammen. HTTP/2-Benchmark-Ergebnisse (siehe im Kapitel: Performance Benchmark-Vergleich von HTTPS, SPDY und HTTP/2) zeigen die Leistungsverbesserungen von HTTP/2 gegenüber seinen Vorgängern und Alternativen gleichermaßen.

HTTP/2-Leistungsverbesserungen
HTTP/2-Leistungsverbesserungen

Die Fähigkeit des Protokolls, mehr Daten pro Client-Server-Kommunikationszyklus zu senden und zu empfangen, ist kein Optimierungs-Hack, sondern ein echter, realisierbarer und praktischer HTTP/2-Vorteil in Bezug auf die Leistung. Die Analogie ähnelt der Idee von Vakuumröhrenzügen (Vactrain) im Vergleich zur Standardeisenbahn: Die Eliminierung des Luftwiderstandes in Vactrain-Tunneln ermöglicht es dem Fahrzeug, schneller zu fahren und mehr Passagiere bei besserer Ausnutzung der verfügbaren Kanäle zu befördern, ohne sich auf den Einbau größerer Motoren, die Verringerung des Gewichts und eine bessere Aerodynamik des Fahrzeugs konzentrieren zu müssen.

Technologien wie Multiplexing schaffen zusätzlichen Raum, um mehr Daten gleichzeitig zu transportieren und zu übertragen – wie mehrstöckige Sitzabteile im Airbus-Flugzeug.

Und was passiert, wenn der Datenkommunikationsmechanismus alle Hürden zur Verbesserung der Web-Performance beseitigt? Zu den Nebenprodukten einer überlegenen Webseiten-Performance gehören eine höhere Kundenzufriedenheit, eine bessere Suchmaschinenoptimierung, eine hohe Produktivität und Ressourcennutzung, die Erweiterung der Nutzerbasis, bessere Verkaufszahlen und vieles mehr.

Glücklicherweise ist die Einführung des HTTP/2 weitaus praktischer als die Schaffung von Vakuumkammern für große mehrstöckige Lokomotiven.

Mobile Web Performance

Millionen von Internetnutzern greifen über ihre mobilen Geräte auf das Web als primären Zugang zur Internetwelt zu. Die Post-PC-Ära hat die Akzeptanz von Smartphones gefördert, die es ihnen ermöglichen, mit der Handfläche auf webbasierte Dienste zuzugreifen und die meisten der alltäglichen Computeraufgaben unterwegs zu erledigen, anstatt längere Zeit vor dem Desktop-Computer zu sitzen.

HTTP/2 wurde im Zusammenhang mit den heutigen Web-Nutzungstrends entwickelt. Funktionen wie Multiplexing und Header-Kompression sind gut geeignet, um die Latenzzeit beim Zugriff auf Internet-Dienste über mobile Datennetze mit begrenzter Bandbreite pro Benutzer zu verringern. HTTP/2 optimiert die Web-Erfahrung für mobile Benutzer mit hoher Leistung und Sicherheit, die bisher nur der Desktop-Internetnutzung zugeschrieben wurden. Die Vorteile von HTTP/2 für mobile Benutzer versprechen unmittelbare positive Auswirkungen auf die Art und Weise, wie Online-Unternehmen Kunden in der Cyberwelt ansprechen.

HTTP/2 mobile
HTTP/2 mobile

Billigeres Internet

Die Kosten für das Internet sind seit den Anfängen des World Wide Web rapide gesunken. Die Ausweitung des Internetzugangs und die Erhöhung der Internetgeschwindigkeit war immer das Ziel bei der Weiterentwicklung der Internettechnologien. In der Zwischenzeit scheinen die Kostenverbesserungen insbesondere angesichts der Behauptungen über das Monopol der Anbieter von Telekommunikationsdiensten an einem Engpass gescheitert zu sein.

Internet-Preissenkung
Internet-Preissenkung

Das HTTP/2 verspricht einen höheren Durchsatz und eine verbesserte Effizienz der Datenkommunikation und wird es den Telekommunikationsanbietern ermöglichen, die Betriebskosten zu senken und gleichzeitig die Standards des Hochgeschwindigkeits-Internets beizubehalten. Der reduzierte OpEx wird die Dienstanbieter dazu ermutigen, die Preise für den Low-End-Markt zu senken und für das bestehende Preismodell Hochgeschwindigkeits-Service-Tiers einzuführen.

Expansive Reichweite

Die dicht besiedelten asiatischen und afrikanischen Märkte sind nach wie vor unterversorgt und haben nur begrenzten Zugang zu erschwinglichem Internet. Internetdienstanbieter konzentrieren ihre Investitionen darauf, die höchsten Erträge aus Dienstleistungen zu erzielen, die nur an städtischen und entwickelten Standorten angeboten werden. Die Vorteile von HTTP/2, die zu einer großflächigen Einführung des fortschrittlichen Anwendungsprotokolls führen, werden natürlich die Überlastung des Netzwerks reduzieren, um Ressourcen und Bandbreite für weit entfernte, unterversorgte geografische Standorte zu schonen.

Bandbreitenkarte
Bandbreitenkarte

Medienreiche Erfahrung

Bei der modernen Web-Erfahrung geht es darum, medienreiche Inhalte mit blitzschneller Seitenladegeschwindigkeit bereitzustellen. Internetnutzer fordern angeblich medienreiche Inhalte und Dienste, die regelmäßig aktualisiert werden. Die Kosten für die zugrundeliegende Infrastruktur, die sogar als Abonnementlösung über die Cloud bereitgestellt wird, sind für Internet-Startup-Unternehmen nicht immer erschwinglich. Die Vorteile von HTTP/2 und Technologiefunktionen wie die Header-Komprimierung verringern zwar nicht die tatsächliche Dateigröße, aber sie sparen einige Bytes an Größen-Overhead ein, um ressourcenverbrauchende medienreiche Inhalte zwischen Client und Servern zu übertragen.

Verbesserte mobile Erfahrung

Fortschrittliche Online-Unternehmen verfolgen eine Mobile-First-Strategie, um die explodierende mobile Nutzerbasis wirksam zu erreichen. Die Hardware-Beschränkungen mobiler Geräte sind vielleicht das größte Hindernis für das mobile Web-Erlebnis, das durch die verlängerte Bearbeitungszeit von Browser-Anfragen beeinträchtigt wird. HTTP/2 reduziert die Ladezeiten und Latenzzeiten des mobilen Netzwerks auf ein überschaubares Maß.

Mobile-first
Mobile-first

Verbesserte Technologie-Nutzung

Der Ressourcenverbrauch hat für Browser-Anfragen von Clients und Servern, die medienreiche Social-Media-Inhalte und komplexe Web-Designs bereitstellen, erheblich zugenommen. Obwohl Webentwickler geeignete Optimierungs-Hacks umgangen haben, war eine robuste und zuverlässige Lösung in Form von HTTP/2 unumgänglich. Funktionen wie Header-Komprimierung, Server-Push, Stream-Abhängigkeiten und Multiplexing tragen alle zu einer verbesserten Netzwerkauslastung als einem Hauptvorteil von HTTP/2 bei.

Sicherheit

Die Vorteile von HTTP/2 gehen über die Leistung hinaus, da der HPACK-Algorithmus es HTTP/2 ermöglicht, die weit verbreiteten Sicherheitsbedrohungen zu umgehen, die auf textbasierte Protokolle der Anwendungsschicht abzielen. HTTP/2 enthält Befehle in Binärform und ermöglicht die Komprimierung der HTTP-Header-Metadaten nach dem Prinzip „Security by Obscurity“ zum Schutz sensibler Daten, die zwischen Clients und Servern übertragen werden. Das Protokoll bietet auch volle Unterstützung für Verschlüsselung und erfordert eine verbesserte Version von Transport Layer Security (TLS1.2) für einen besseren Datenschutz.

HTTP/2-Sicherheit
HTTP/2-Sicherheit

Innovation

HTTP/2 verkörpert Innovation und das Konzept des Hochleistungsnetzes. HTTP/2 untermauert die Cyberwelt, wie wir sie heute kennen, und die HTTP/2-Änderungen basieren in erster Linie auf Googles SPDY-Protokoll, das den alternden HTTP1.x-Versionen einen Riesensprung voraus war und SPDY sowie alle früheren HTTP-Iterationen in naher Zukunft fast vollständig ersetzen wird. Der Verzicht auf komplexe Web-Optimierungs-Hacks stellt die Unterstützung von HTTP/2-Browsern als eine praktikable Lösung für Webentwickler zur Erstellung hochleistungsfähiger Webseiten und Online-Dienste dar.

HTTP/2-SEO-Vorteil

Die Disziplin des SEO-Marketings liegt irgendwo zwischen Kunst und Wissenschaft. Traditionelle SEO-Praktiken versagen bei der Manipulation von Suchmaschinen-Rankings nach immer komplexeren proprietären Algorithmen, die von populären Suchmaschinen verwendet werden. Online-Unternehmen müssen ihre Marketing-Taktiken entsprechend weiterentwickeln. Klügere Investitionen in Form der Implementierung von durch und durch gut gestalteten Webseiten, die nicht nur auf Geschwindigkeit optimiert, sondern von Grund auf für überlegene Leistung, Sicherheit und Benutzererfahrung gebaut sind. Diese Attribute werden als Mittel bevorzugt, um Suchanfragen mit den genauesten Informationen und Dienstleistungen zu beantworten, die für ein globales Zielpublikum bequem zugänglich sind.

Standardisierte Industrieprozesse für die Suchmaschinenoptimierung gehen über Front-End-Marketing-Taktiken hinaus und umfassen den gesamten Lebenszyklus der Client-Server-Kommunikation. SEOs, die früher die Grundnahrungsmittel in Internet-Marktteams waren, genießen seit dem Aufkommen der neuesten digitalen Kommunikationstechnologien nicht mehr die gleichen Positionen. Unter ihnen markiert die Vorherrschaft von HTTP/2 eine wichtige tektonische Verschiebung, die Webentwickler und Vermarkter zurück an das Reißbrett zwingt.

HTTP/2-SEO-Vorteile
HTTP/2-SEO-Vorteile

Die Implementierung und Optimierung der Infrastruktur für HTTP/2 und die vielversprechenden Leistungsvorteile sind nun ein entscheidender Faktor für die Suchmaschinenoptimierung. Online-Unternehmen, denen es an einer adäquaten organischen Nutzerbasis mangelt, können es sich nicht leisten, HTTP/2 und den daraus resultierenden SEO-Schub zu vernachlässigen, während sie aufgrund von Innovation und hochwertigem Online-Dienst, der mit der Implementierung von HTTP/2 auf der Serverseite noch höher eingestuft wird, mit ständig wachsenden Online-Geschäftsimperien konkurrieren.

Performance Benchmark-Vergleich von HTTPS, SPDY und HTTP/2

Die folgenden Performance-Benchmark-Vergleiche zwischen HTTPS, SPDY und HTTP/2 vermitteln ein klares Bild der Verbesserungen der Web-Performance mit dem neuesten Anwendungsprotokoll.

HTTP/2-Leistungsdiagramm-Vergleich
HTTP/2-Leistungsdiagramm-Vergleich

 

Die Ergebnisse der HTTP/2-Benchmarks bestätigen die Ideen, die Header-Kompression, Server-Push und andere Mechanismen, die speziell zur Verbesserung der Seitengeschwindigkeit und des Benutzererlebnisses eingesetzt werden, in der realen Welt konsistent umsetzen:

Einzelheiten zum Test: Dieser Test, der HTTPS, SPDY3.1 und HTTP/2 vergleicht, präsentiert die folgenden Ergebnisse:

  • Größe der Client-Request- und Server-Response-Header: HTTP/2-Benchmarks demonstrieren, wie die Verwendung des Header-Kompressionsmechanismus die Header-Größe erheblich verkleinert, während SPDY nur den Header verkleinert, der in der Serverantwort für diese spezielle Anfrage verwendet wird. Bei HTTPS wird die Header-Größe sowohl bei den Request- als auch bei den Response-Befehlen nicht verkleinert.
  • Größe der Server-Antwortnachricht: Obwohl die Antwort des HTTP/2-Servers größer war, bietet sie als wichtiger Kompromiss eine stärkere Verschlüsselung für mehr Sicherheit.
  • Anzahl der verwendeten TCP-Verbindungen: HTTP/2 und SPDY verbrauchen weniger Netzwerkressourcen durch die Verarbeitung mehrerer gleichzeitiger Anfragen (Multiplexing) und verringern somit die Latenzzeit.
  • Geschwindigkeit beim Seitenaufbau: HTTP war durchweg schneller als SPDY. HTTPS war aufgrund fehlender Header-Komprimierung und Server-Push-Fähigkeiten deutlich langsamer.

Vorbereitungen für ein besseres Internet: HTTP/2-Browserunterstützung und -Verfügbarkeit

HTTP/2 ist bereits mit adäquater Unterstützung für Webserver, Browser und Mobiltelefone verfügbar. Technologien, auf denen HTTP1.x läuft, sind bei der Implementierung von HTTP/2 für deine Webseite nicht gefährdet, erfordern jedoch eine schnelle Aktualisierung, um das neue Protokoll zu unterstützen. Du kannst Netzwerkprotokolle als gesprochene Sprachen betrachten. Die Kommunikation mit neuen Sprachen ist nur so lange möglich, wie sie ausreichend verstanden wird. Gleichermaßen sollten Client und Server aktualisiert werden, um die Datenkommunikation mit dem HTTP/2-Protokoll zu unterstützen.

Kunden-Support

Internet-Konsumenten müssen sich nicht darum kümmern, ihre Desktop- und mobilen Web-Browser so zu konfigurieren, dass sie HTTP/2 unterstützen. O Google Chrome e o Firefox suportam a tecnologia há anos bereits seit Jahren, und Apple fügte dem Webbrowser Safari bereits 2014 HTTP/2-Browserunterstützung hinzu. Für Internet Explorer müssen Benutzer Windows 8 ausführen, um das neueste Anwendungsprotokoll zu unterstützen.

HTTP/2-Browser-Unterstützung
HTTP/2-Browser-Unterstützung

Die wichtigsten mobilen Webbrowser, darunter der treffend benannte Browser von Android, Chrome für Android und iOS sowie Safari in iOS 8 und höher, unterstützen HTTP/2 für den mobilen Webzugriff. Internet-Nutzern wird empfohlen, die neuesten stabilen Versionen von mobilen und Desktop-Webbrowsern zu installieren, um die maximalen Leistungs- und Sicherheitsvorteile des Anwendungsprotokolls zu nutzen, wie sie in den HTTP/2-Benchmarks zu sehen sind.

Webserver-Unterstützung: Apache und Nginx

Online-Diensteanbieter, die Server vor Ort oder in der Cloud betreiben, müssen ihre Webserver aktualisieren und konfigurieren, um Unterstützung für HTTP/2 hinzuzufügen. Bei Kinsta haben wir unsere Server natürlich bereits entsprechend angepasst! In Anbetracht der oben beschriebenen Analogie der gesprochenen Sprache können Internetbesucher, die auf Informationen zugreifen, die von diesen Servern geliefert werden, HTTP/2 nur so lange verwenden, wie der Webserver für diesen Zweck aktualisiert und konfiguriert ist.

Nginx-Server, die 66 Prozent aller aktiven Webserver ausmachen, verfügen über native Unterstützung für HTTP/2, während Apache-Server das mod_spdy-Modul verwenden, um HTTP/2-Browserunterstützung zu bieten. Das Modul wurde von Google entwickelt, um SPDY-Funktionen wie Multiplexing und Header-Kompression für Apache 2.2-Server zu unterstützen, und die Software wird nun der Apache Software Foundation gespendet.

HTTP/2 Nginx- und Apache-Unterstützung
HTTP/2 Nginx- und Apache-Unterstützung

Wie man mit der Verwendung von HTTP/2 beginnen kann

Befolge diese einfachen Schritte, um HTTP/2 für deine Webseite einzurichten.

Schritt 1

  • Stelle sicher, dass HTTPS aktiviert ist: Kaufe ein SSL- oder TLS-Zertifikat von einer gültigen ausstellenden Behörde, oder verwende kostenloses SSL von Let’s Encrypt, falls verfügbar.
  • Aktiviere das Sicherheitszertifikat.
  • Installiere das Sicherheitszertifikat.
  • Aktualisiere die Website, um das HTTPS-Protokoll zu aktivieren.

Für Kinsta-Kunden

Wenn du ein Kinsta-Client bist, kannst du ein SSL-Zertifikat mit einem einzigen Klick installieren.

Let's Encrypt-Zertifikat hinzufügen
Let’s Encrypt-Zertifikat hinzufügen

Schritt 2

Stelle sicher, dass die zugrunde liegende Netzwerkinfrastruktur einschließlich der Server-Software HTTP/2 unterstützt. Nginx-Server unterstützen HTTP/2 nativ, wohingegen Apache im Oktober 2015 (in 2.4) native Unterstützung hinzugefügt hat, was bedeutet, dass Apache-Server möglicherweise zusätzliche Module benötigen, um Datenkommunikation mit HTTP/2-Browserunterstützung zu ermöglichen.

Hinweis: HTTP/2 ist bei Kinsta für alle Seiten, die über HTTPS laufen, standardmäßig aktiviert.

Schritt 3

Aktualisiere, konfiguriere und teste deinen Server zur Unterstützung von HTTP/2. Diese Ressource beschreibt das Konfigurations- und Testverfahren für Apache-Server. Wende dich an deinen Web-Hosting-Provider, um sicherzustellen, dass HTTP/2 für deine Webseite bereit ist.

Schritt 4

Mit diesem Tool kann man überprüfen, ob man HTTP/2 richtig konfiguriert hat.

Schlussfolgerung

Die Vorherrschaft und Dominanz von HTTP/2 in der Internet-Welt ist unvermeidlich. Das Anwendungsprotokoll wird wohl das Erbe von HTTP1.x weiterführen, das die Internetwelt mit revolutionären Datenübertragungsfunktionen verändert hat. HTTP/2 folgt seinen Vorgängern mit einer technologischen Überlegenheit, die weitaus größer ist als die Innovationslücke, die HTTP1.x damals gegenüber den traditionellen Datenkommunikationsmechanismen aufwies.

Die Aktivierung von HTTP/2 ist jedoch nur ein Schritt auf dem weiten Weg zur Verbesserung der Seitengeschwindigkeit. Diese Kinsta-Fibel mit dem Titel „A Beginner’s Guide to Website Speed Optimization“ beschreibt, wie man auf Geschwindigkeit baut, Performance-Engpässe behebt und strategische Geschäftsvorteile in Verbindung mit überlegener Web-Performance erzielt.