HTTP / 3: Die Schlüssel zum neuen Hypertext-Übertragungsprotokoll
HTTP / 3 ist das neueste Mitglied der HTTP-Protokollfamilie und ersetzt die Vorgänger HTTP / 1, HTTP / 2 und HTTP-over-QUIC. HTTP / 3 befindet sich derzeit in der Entwicklung, wurde jedoch bereits seit April 2020 in den Browsern Google Chrome, Microsoft Edge und Firefox sowie in Safari implementiert.
Die dritte Generation des HTTP-Standards wurde ursprünglich als HTTP-over-QUIC geboren und basierte als experimentelles Protokoll auf UDP. Anfangs wurde HTTP-over-QUIC als potenzieller Ersatz für HTTP / 2 angesehen, aber seit Januar 2020 wird dieses Projekt offiziell unter dem Namen HTTP / 3 vorangebracht. Jetzt müssen wir nur noch abwarten, wie schnell der neue Standard eingeführt wird. In jedem Fall verspricht HTTP / 3, die Ladezeit zu verkürzen und die Sicherheit dank der Datenübertragung über UDP zu erhöhen . Obwohl 80% der Browser seit ihrer Veröffentlichung im Jahr 2015 mit HTTP / 2 kompatibel sind, schreitet die Verwendung durch Anbieter nur langsam voran, was uns glauben lässt, dass HTTP / 3 auch nicht mit offenen Armen empfangen wird.
- Was ist HTTP / 3?
- Was enthält HTTP / 3?
- Welche Funktionen hat HTTP / 3?
- Was sind die Vorteile von HTTP / 3?
- HTTP / 2 vs. HTTP / 3: Unterschiede und Ähnlichkeiten
- Welche Probleme kann HTTP / 3 mit sich bringen?
Was ist HTTP / 3?
Im November 2018, nur drei Jahre nach Einführung des HTTP / 2-Standards, veröffentlichte die Internet Engineering Task Force (IETF) den neuen Standard für das HTTP / 3-Hypertext-Übertragungsprotokoll. Die IETF hat mit diesem neuen Protokoll jedoch nichts Neues entdeckt: Sie konnte nur die Zeichen unserer Zeit erkennen und entwickelte ein Webprotokoll, das eine schnellere Datenübertragung, erhöhte Sicherheit und effizientere Verbindungen bot. Bereits 2012 hatte Google den wahren Nachfolger von HTTP / 2 namens QUIC (Quick UDP Internet Connections) entwickelt und als HTTP-over-QUIC in einer Vielzahl von Produkten implementiert.
In jedem Fall umfasst der HTTP / 3-Standard die Vorteile der vorhandenen HTTP / 2- und HTTP-over-QUIC-Übertragungsprotokolle, wodurch eine schnellere und stabilere Datenübertragung erreicht wird. Wenn alles nach Plan verläuft, ersetzt HTTP / 3, das einem QUIC- oder UDP-basierten Ansatz folgt, HTTP / 2, basierend auf TCP.
Was enthält HTTP / 3?
Um die Mechanik von HTTP / 3 zu verstehen, müssen Sie zunächst verstehen, wie QUIC, UDP und HTTP / 2 funktionieren , da HTTP / 3 im Grunde eine Zusammenführung dieser Komponenten ist. Der Name HTTP-over-QUIC weist bereits darauf hin, dass die Datenübertragung nicht über TCP, sondern über UDP erfolgt.
HTTP / 2 verwendet TCP als das am weitesten verbreitete Übertragungsprotokoll im Internet. TCP stellt Verbindungen durch mehrphasige Handshakes her und überträgt Datenpakete chronologisch. Darüber hinaus wird eine Übertragung nur fortgesetzt, wenn ein Paket erfolgreich übertragen wurde. Die Sicherheit von Überweisungen wird durch sogenannte Bestätigungen , dh Anforderungs- und Lieferbestätigungen und Bestätigungsnummern, gewährleistet . Die von TCP übertragenen Daten enthalten einen Header mit Parametern, die den Prozessen des Absenders helfen, sich mit den Peer- Prozessen des Empfängers zu verbinden .
Wenn es um die vollständige Datenübertragung geht, ist TCP sehr zuverlässig. Dies gilt jedoch nicht für Datenüberlastungen. und Ladezeiten, denn wenn ein Datenpaket verloren geht , werden alle Übertragungen gestoppt, bis es eintrifft. Mit HTTP / 2 stieß die Internetprotokollfamilie an ihre Grenzen, da die Datenübertragung ohne ein neues Protokoll nicht beschleunigt werden konnte.
Daher ergriff Google die Initiative und entwickelte QUIC , ein eigenes Übertragungsprotokoll. QUIC vermeidet eine Überlastung der TCP-Last, indem auf die UDP-Übertragung zurückgegriffen wird, die auf Datagrammen basiert und keine Verbindung erfordert. Wie TCP arbeitet UDP auf der Transportebene, verzichtet jedoch auf Absender- und Empfängerbestätigungen . Jede Übertragung muss nicht auf die vorherige warten, und die Hin- und Rückfahrt zwischen Client und Server wird erheblich verkürzt. Die IETF erkannte die Vorteile dieses neuen Protokolls und führte es 2018 als HTTP-over-QUIC ein, die Version, die HTTP / 2 ersetzte.
Grundsätzlich bleibt das HTTP-Transportprotokoll gleich. Es besteht immer noch aus einem Header ( Header ) und einem Nachrichtentext ( Body ) und verwendet Verben, Cookies und Cache. Der Unterschied liegt in der Art und Weise, wie die Daten übertragen werden, und in der Verfügbarkeit der integrierten Verschlüsselung.
Welche Funktionen hat HTTP / 3?
Damit das HTTP / 2-Protokoll über QUIC funktioniert, mussten bestimmte Funktionen geändert werden (unter Verwendung des experimentellen HTTP-over-QUIC), was zur Erstellung von HTTP / 3 führte.
Das wichtigste neue Merkmal der dritten Generation von HTTP ist die ausschließliche Verwendung von URLs vom Typ HTTPS . Veraltete und zweifelhafte URLs werden als unsicher und / oder nicht verschlüsselt markiert. Mit QUIC und UDP ersetzt HTTP / 3 den TLS-Verschlüsselungsdurchlauf auf TCP-Ebene und verwendet automatisch die TLS 1.3-Verschlüsselung . Daher kann HTTP / 3 nur angewendet werden, wenn eine Codierung vorhanden ist.
Weitere neue Funktionen sind die ständige Verbindung bei Änderung von Netzwerk während der Übertragung (durch den Client oder den Server) die bemerkenswerte Reduktion der Datenpakete durch die Tatsache , dass die Paketübertragung in parallel durchgeführt wird, und eine Vorwärtsfehlerkorrektur , das heißt, eine Korrektur von Fehlern , die bereits stattfinden , auf der QUIC-Ebene.
Was sind die Vorteile von HTTP / 3?
Die Vorteile von HTTP / 3 sind eine erhöhte Übertragungsgeschwindigkeit, kürzere Ladezeiten und eine stabilere Verbindung. Da HTTP / 3 auf UDP basiert, füllt es die Schwachstellen von TCP aus und nutzt HTTP / 2 und HTTP-over-QUIC voll aus.
Da HTTP / 2 Multiplexing verwendet, dh das gleichzeitige Herunterladen von Daten, ist diese zweite Generation von HTTP von Head-of-Line-Blocking betroffen . Wir sprechen von digitalen Trichtern, die dafür verantwortlich sind, alle Übertragungen zu unterbrechen, wenn ein Paket in einem von ihnen verloren geht. Im Gegensatz dazu wartet HTTP / 3 bei Verwendung von UDP nicht auf den Abschluss der Übertragung, sondern setzt den Upload-Vorgang fort.
HTTP / 3- Verzicht auf Handshakes zur vorläufigen Überprüfung der Sicherheit der Verbindung. Anstatt Sicherheitsanforderungen an die obere TLS-Schicht zu senden, erfolgt die Verschlüsselung direkt über das Übertragungsprotokoll. HTTP / 3 reduziert die Dauer des Verbindungsaufbaus von zwei Schritten auf einen.
Um einen erfolgreichen Download abzuschließen, hängt HTTP / 3 nicht von ((IP-Adressen | Server / Know-how / Was-ist-das-Internet-Protokoll-Definition-von-IP-Co /) ab), sondern verwendet stattdessen einzelne Verbindungs-IDs, die Ermöglichen Sie einen ständigen Download auch bei Netzwerkänderungen.
Vor allem für Benutzer mobiler Geräte verbessert HTTP / 3 den Browserkomfort dank einer stabileren, flexibleren und schnelleren Verbindung.
HTTP / 2 vs. HTTP / 3: Unterschiede und Ähnlichkeiten
Hier ist eine kurze Zusammenfassung der Unterschiede und Ähnlichkeiten zwischen HTTP / 2 und HTTP / 3.
Unterschiede:
- HTTP / 3 basiert im Gegensatz zu HTTP / 2 auf UDP und nicht auf TCP.
- Durch die Verwendung der integrierten TLS 1.3-Verschlüsselung verzichtet HTTP / 3 auf zusätzliche Verschlüsselungsanforderungen ( Handshakes ) auf TLS-Ebene und vermeidet unnötige Sicherheitsanforderungen.
- Aufgrund der integrierten TLS 1.3-Verschlüsselung unterstützt HTTP / 3 nur verschlüsselte Verbindungen, ganz im Gegenteil zu HTTP / 2.
Ähnlichkeiten:
- Beide Protokolle verwenden die Header- Komprimierung . HTTP / 3 ersetzt unterdessen die HTTP / 2-bezogene HPAck-Komprimierung in einer geordneten Liste von Paketen durch Qpack.
- Wie HTTP / 2 unterstützt HTTP / 3 Server- Push- Benachrichtigungen , dh das beschleunigte Senden von CSS- und JavaScript-Daten, die für die Anzeige einer Seite durch den Browser unerlässlich sind.
- Beide Protokolle verwenden Request / Response-Multiplexing, dh die parallele Übertragung von Daten aus verschiedenen Quellen.
- Durch die Priorisierung der Übertragung wird sichergestellt, dass der Seiteninhalt in beiden Protokollen mit Priorität geladen wird, ohne auf den Abschluss anderer Anforderungen warten zu müssen.
HTTP / 2 galt lange Zeit als effizientes und zuverlässiges Übertragungsprotokoll. Weitere Informationen zu diesem Pre-HTTP / 3-Protokoll und den darin enthaltenen Verbesserungen in Bezug auf Sicherheit und Verbindungsgeschwindigkeit finden Sie in unserem Artikel zu HTTP / 2.
Welche Probleme kann HTTP / 3 mit sich bringen?
Viele Kritiker von HTTP / 3 behaupten, dass zwischen dieser dritten Version und dem HTTP / 2-Protokoll nur sehr wenig Zeit vergangen ist, und betrachten UDP als ein fehlendes Netzwerkprotokoll. In Zusätzlich können die Nutzer vor allem diejenigen , die von diesem neuen HTTP – Protokoll profitieren, aber die Lieferanten sind mit Blick auf bestimmte Herausforderungen , wenn TCP und UDP und TLS QUIC ändern.
Da die Sicherheitskontrolle und Verschlüsselung nicht über TLS, sondern direkt über UDP erfolgt und UDP so viele Pakete wie möglich in kürzester Zeit senden muss, befürchten die Anbieter, dass der Datenverkehr aufgrund des Fehlens von nicht gründlich überprüft werden kann TLS-Authentifizierung . Daher wird das Risiko für die Sicherheit von Anwendungen und Daten von Internetanbietern stark kritisiert. Dank der klaren Request-Response-Regelung wurde TCP als zuverlässiges und verbindungsorientiertes Protokoll angesehen. Da QUIC selbst viele Zwischenschritte unternimmt, bleibt der Verdacht bestehen, ob die Steuerungsoptionen des Anbieters durch HTTP / 3 eingeschränkt sind und ob das Risiko, dass Malware in den Datenstrom gelangt, größer ist.
Da das zunehmende Angebot an Multimediadateien wie Bildern, Videos und anderen Elementen sozialer Netzwerke eine schnellere Datenübertragung erfordert, können Benutzer nur hoffen, dass die Familie der Internetprotokolle so schnell wie möglich Fortschritte macht und dass Anbieter mit der ständigen und immer schnelleren Entwicklung des Internets Schritt halten können.