Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von HTTP-Protokollbeispielen

Detaillierte Erläuterung von HTTP-Protokollbeispielen

小云云
小云云Original
2018-03-12 15:25:002781Durchsuche

HTTP ist ein Protokoll der Anwendungsschicht, das aus Anfragen und Antworten besteht und ein Standard-Client-Servicemodell ist. HTTP wird normalerweise auf dem TCP-Protokoll und manchmal auf der TLS- oder SSL-Protokollebene übertragen. Heutzutage wird es allgemein als HTTPS bezeichnet. Die Standard-Portnummer für HTTP ist 80 und die Portnummer für HTTPS ist 443.


Der Nachteil ist, dass der Server den Client nicht aktiv pusht

Die Anwendung des SPDY-Protokolls erfordert einen Client-Browser und Server Beide Terminals werden gleichzeitig unterstützt. Optimiert die Kommunikation zwischen dem Browser und dem Server, unterstützt Stream-Multiplexing, priorisiert Anfragen, initiiert proaktiv Anfragen, erzwingt sichere SSL-Übertragung und andere erweiterte Funktionen

4.1.2 Funktionsweise des HTTP-Protokolls

Das Surfen im Internet ist die Hauptanwendung des HTTP-Protokolls.

1 Der Client muss eine Verbindung mit dem Server herstellen und auf einen Hyperlink klicken Die Arbeit beginnt.

2 Nach dem Verbindungsaufbau sendet der Client eine Anfrage an den Server.

3 Nachdem der Server die Anfrage empfangen hat, gibt er die entsprechenden Antwortinformationen aus

4 Der Client empfängt die vom Server zurückgegebenen Informationen und zeigt sie auf dem Display des Benutzers an. Anschließend trennt der Client die Verbindung der Server

Einige Hauptkonzepte im HTTP-Protokoll

1 Anfrage

HTTP-Anfrage besteht aus drei Teilen: Anforderungsheader, Anforderungsheader, Anforderungshauptteil

Anforderungszeile: Methode Anforderungs-URL HTTP-Version CRLF

Methode: Anforderungsmethode (GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS)

Anforderungs-URL: eine einheitliche Ressourcenkennung

HTTP-Version: die angeforderte HTTP-Protokollversion

CRLF: Wagenrücklauf und Zeilenvorschub

2 Antwort

HTTP-Antwort besteht ebenfalls aus drei Teilen: Statuszeile, Nachrichtenkopf, Antworttext

Statuszeile: HTTP-Versionsstatus -Code Reason-Phrase CRLF

HTTP-Version: HTTP-Protokollversion des Servers

Status-Code: Vom Server zurückgesendeter Antwortstatuscode

Grundsatz: Textbeschreibung des Statuscodes

Der Statuscode besteht aus drei Ziffern und fünf möglichen Werten

1XX: Hinweisinformationen – die Anfrage hat empfangen, Verarbeitung fortsetzen

2XX: Erfolgreich – die Anfrage wurde erfolgreich empfangen, verstanden und akzeptiert

3XX: Umleitung – zum Abschluss müssen weitere Vorgänge durchgeführt werden die Anfrage

4XX: Clientfehler – Die Anfrage hat einen Syntaxfehler oder die Anfrage kann nicht erfüllt werden

5XX: Serverfehler – Der Server konnte a nicht erfüllen legitime Anfrage

Allgemeine Statuscodes und Statusbeschreibungen

200 OK: Die Clientanfrage war erfolgreich

400 schlechte Anfrage: Die Clientanfrage hat einen Syntaxfehler und kann nicht verarbeitet werden. Was der Server versteht

401 Nicht autorisiert: Die Anfrage ist nicht autorisiert, dieser Statuscode muss mit dem WWW Authenticate-Header verwendet werden

403 Verboten: Der Server hat die Anfrage empfangen, sich jedoch geweigert, sie bereitzustellen. Dienst

404 Nicht gefunden: Die angeforderte Ressource existiert nicht, es wurde beispielsweise eine falsche URL eingegeben

500 interner Serverfehler: Auf dem Server ist ein unerwarteter Fehler aufgetreten

503 Server nicht verfügbar: Der Server ist derzeit nicht in der Lage, die Anfrage des Clients zu verarbeiten und kehrt möglicherweise nach einer gewissen Zeit zum Normalzustand zurück

3 Header

HTTP-Nachrichtenheader umfassen normale Header, Anforderungsheader, Antwortheader und Entitätsheader

1 Es gibt einige Headerfelder im Normalbereich Header, die für alle Anforderungs- und Antwortnachrichten verwendet werden, jedoch nicht für die übertragene Entität, sondern nur für die übertragene Nachricht (Cache-Steuerung, Verbindungssteuerung)

2 Der Anforderungsheader ermöglicht die Weitergabe durch den Client zusätzliche Informationen der Anfrage an den Server sowie eigene Informationen des Clients (UA-Header, Accept)

3 Der Antwortheader ermöglicht es dem Server, zusätzliche Antwortinformationen zu übergeben, die nicht in der Statuszeile platziert werden können, sowie Informationen über den Server und Informationen über den nächsten Zugriff auf die durch die Anforderungs-URL (Standort) identifizierte Ressource

4 Der Entity-Header definiert Metainformationen über den Entity-Body und die durch die Anfrage identifizierte Ressource, z. B. ob es einen Entity-Body gibt

Mehrere wichtige Header:

Host Das :header-Feld gibt den Internet-Host und die Portnummer der angeforderten Ressource an und muss den Standort des ursprünglichen Servers oder Gateways der angeforderten URL angeben.

User Agent: kurz UA, der Inhalt enthält die Benutzerinformationen, die die Anfrage gestellt haben. Enthält normalerweise die Informationen des Betrachters, hauptsächlich den Namen der Browserversion und das verwendete Betriebssystem.

Akzeptieren: Teilt dem Server mit, welche Dateiformate akzeptabel sind. Normalerweise ist dieser Wert in allen Browsern ähnlich.

Cookie: Es gibt zwei Arten: Eine wird vom Client mithilfe des Cookie-Headers an den Server gesendet, der mehrere Werte haben kann, und die andere wird vom Server mit dem Header an den Browser gesendet Cookie festlegen. Es kann nur einen Wert geben, Sie müssen Domäne und Pfad angeben

Cache-Steuerung: Geben Sie den Caching-Mechanismus an, gefolgt von der Anfrage und Antwort. Durch das Festlegen der Cache-Steuerung in einer Anforderungs- oder Antwortnachricht wird der Cache-Verarbeitungsprozess in einer anderen Nachricht nicht geändert. Die Cache-Anweisungen umfassen „Kein Cache“, „Kein Speichern“, „Max. Alter“, „Max. Status“, „Keine Transformation“, „Muss erneut validieren“, „Proxy erneut validieren“, „MAX. Alter“

Referrer: Die Hauptdomäne ermöglicht es dem Client, die Quellressource der Anforderungs-URL anzugeben . Adresse, damit kann der Server eine Fallback-Liste zur Login- und Cache-Optimierung erstellen. Referer ist normalerweise ein Parameter, der vom Verkehrsstatistiksystem verwendet wird, um die Adresse des Besuchers aufzuzeichnen


Inhaltslänge: Inhaltslänge


Inhaltsbereich: Der Ressourcenbereich der Antwort. Der angeforderte Ressourcenbereich kann in jeder Anforderung markiert werden. Wenn die Verbindung getrennt und wiederhergestellt wird, fordert der Client nur den nicht heruntergeladenen Teil der Ressource an, anstatt die gesamte Ressource erneut anzufordern, um die Wiederaufnahme des Haltepunkts zu implementieren. Dies ist das Prinzip von Xunlei, das Multithreading verwendet, um die Ressourcen alberner Mädchen im Internet in Segmenten zu lesen und sie schließlich zusammenzuführen


Codierung akzeptieren: Gibt die Codierungsmethode an, die empfangen werden kann


Benutzerdefinierte Header: In HTTP-Nachrichten können Sie auch einige Header-Felder verwenden, die nicht in den formalen Spezifikationen in http1.1 definiert sind.


Verwandte Empfehlungen:

Zusammenfassung der im Header in PHP verwendeten HTTP-Protokollverwendung

Eingehende Analyse von HTTP Protokoll

Einführung und vertieftes Verständnis des HTTP-Protokolls

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von HTTP-Protokollbeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn