Technologieaustausch

Der Unterschied zwischen HTTP1.0 und HTTP1.1

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

dauernde Verbindung

HTTP/1.1Permanente Verbindungen werden standardmäßig unterstützt, sodass mehrere HTTP-Anfragen und -Antworten über eine TCP-Verbindung gesendet werden können, wodurch der Aufwand für den Verbindungsaufbau und -abbau reduziert wird.

UndHTTP/1.0Der Standardwert ist eine kurze Verbindung. Sie können eine TCP-Verbindung herstellenConnection: keep-aliveHeader zur Implementierung dauerhafter Verbindungen.Connection: keep-alive Der Zweck besteht darin, dem Server und dem Client mitzuteilen, dass die TCP-Verbindung zwischen ihnen aufrechterhalten werden soll, damit sie wiederverwendet werden kann, anstatt sofort nach dem Senden einer Antwort geschlossen zu werden. Diese Funktion wurde in HTTP/1.0 eingeführt und wurde zum Standardverhalten in HTTP/1.1.

Pipeline

HTTP/1.1Unterstützt Pipelining (standardmäßig nicht aktiviert), sodass der Client mehrere Anfragen senden kann, bevor die Antwort auf die erste Anfrage eintrifft, was die Wartezeit verkürzen und die Effizienz verbessern kann.

HTTP/1.0 unterstützt kein Pipelining.

Cache-Steuerung

HTTP1.0Hauptsächlich verwendetIf-Modified-Since/Expiresals Kriterium für die Zwischenspeicherung von Urteilen

HTTP1.1Weitere Cache-Kontrollstrategien werden eingeführt, wie zEtag / If-None-MatchWarten Sie auf weitere optionale Cache-Header, um die Cache-Strategie zu steuern.

Fehlerbehandlung:

HTTP/1.1Einige neue HTTP-Statuscodes hinzugefügt, z100 Continue, wird verwendet, um die Fehlerbehandlung und Zwischenantworten auf Anfragen zu verbessern.

Nach Erhalt der 100 Continue-Antwort sollte der Client weiterhin den Anforderungstext senden.Wenn der Server eine Nachricht empfängt, die Folgendes enthält:Expect: 100-continueNach der Entscheidung, die Anfrage nicht weiter zu verarbeiten (z. B. wenn die Header-Informationen der Anfrage darauf hinweisen, dass die Anfrage nicht angenommen werden kann), sollte der Server einen Fehlerstatuscode (z. B. 400 Bad Request) anstelle von 100 Continue zurückgeben.

HostKopf:

HTTP/1.1eingeführtHost Header, der es dem Client ermöglicht, den angeforderten Hostnamen anzugeben, wodurch es möglich wird, mehrere Domänennamen auf demselben Server zu hosten. Jeder Domänenname kann einer anderen Ressource oder einem anderen Dienst auf dem Server zugeordnet werden. HTTP/1.0 verfügt nicht über dieses Header-Feld.

Bandbreitenoptimierung:

HTTP1.0Es gibt einige Phänomene der Bandbreitenverschwendung. Beispielsweise benötigt der Client nur einen Teil eines Objekts, der Server sendet jedoch das gesamte Objekt und unterstützt die Wiederaufnahmefunktion nicht.HTTP1.1wird im Anforderungsheader eingeführtrangeDas Header-Feld ermöglicht die Anforderung nur eines bestimmten Teils der Ressource, d. h. des Rückgabecodes206(Partial Content)