Was ist der Unterschied zwischen HTTP 1.1 und HTTP 2.0? [geschlossen]

223

HTTP / 1.1 hat das Web seit mehr als fünfzehn Jahren gut bedient, aber sein Alter beginnt sich zu zeigen.

Kann jemand erklären, was der Hauptunterschied zwischen HTTP 1.1 und 2.0 ist?

Gibt es eine Änderung im Transportprotokoll?

ivanleoncz
quelle
1
daniel.haxx.se/http2/http2-v1.9.pdf Überzeugen Sie sich selbst, was in HTTP2 neu ist
TylerH
1
Dieses Video sieht gut aus, um über diese Themen zu sprechen. youtube.com/watch?v=0L5Q_897fwk
Gujarat Santana
Der Abschnitt "Einführung" von tools.ietf.org/html/rfc7540 ist die reinste und beste Quelle für den Unterschied zwischen HTTP 1.1 und HTTP 2.0
bayCoder

Antworten:

190

HTTP / 2 unterstützt das Multiplexen von Abfragen, die Komprimierung von Headern, die Priorität und ein intelligenteres Paket-Streaming-Management. Dies führt zu einer verringerten Latenz und beschleunigt das Herunterladen von Inhalten auf modernen Webseiten.

Weitere Details hier.

84RR1573R
quelle
6
Um noch einen hinzuzufügen, gibt http / 2 auch den Server-Push an. Lesen Sie hier mehr darüber: en.wikipedia.org/wiki/HTTP/2_Server_Push
Nitin Bansal
87

HTTP 2.0 ist eine Binärdatei Protokoll, das zahlreiche Streams über eine einzelne (normalerweise TLS-verschlüsselte) TCP-Verbindung multiplext.

Der Inhalt jedes Streams sind HTTP 1.1-Anforderungen und -Antworten, die nur unterschiedlich codiert und verpackt sind. HTTP2 fügt eine Reihe von Funktionen zum Verwalten der Streams hinzu, lässt jedoch die alte Semantik unberührt.

Phihag
quelle
41
TLS-Verschlüsselung ist nicht optional. Es kann vom Protokoll optional sein, aber nicht in der realen Welt. Chrome und andere Browser akzeptieren http2 ohne https nicht. Wenn Sie also in der realen Welt http2 aktivieren, ohne ein Zertifikat auf Ihrem Server zu installieren, stellen die Browser nur eine Verbindung zu http1 her.
Patrick Collins
@PatrickCollins Eigentlich stellen Browser eine Verbindung zu HTTP2 her, initiieren jedoch nur einen Download des Binärpaket-Streams. Sie wissen einfach nicht, wie sie HTTP2-Inhalte ohne SSL anzeigen sollen.
Avamander
3
Diese Antwort ist irreführend in der Behauptung, dass http / 2 nur http / 1.1-Anforderungen packt und codiert. Es gibt spezifische Unterschiede. Beispielsweise werden die Header getrennt vom Body / Payload gesendet. Außerdem hat sich das Header-Format geringfügig geändert. In http / 1.x werden die Methode, die URL, die Antwortcodes und die Protokollversionen in der ersten Zeile, der Anforderungszeile, übergeben. Http / 2 führt das Konzept der Pseudoheader ein, die vor allen anderen Headern stehen und mit einem Präfix versehen sind :, um diese Aspekte zu behandeln, mit Ausnahme der Protokollversion, die in http / 2 keine Entsprechung hat.
Erikest
2
Während bei den Headern die Groß- und Kleinschreibung nicht berücksichtigt wird, muss das Protokoll in Kleinbuchstaben übertragen werden.
Erikest