Heim Backend-Entwicklung PHP-Tutorial Detaillierte Erläuterung von HTTP-Protokollbeispielen

Detaillierte Erläuterung von HTTP-Protokollbeispielen

Mar 12, 2018 pm 03:25 PM
http 协议 详解

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
<🎜> obscur: Expedition 33 - So erhalten Sie perfekte Chroma -Katalysatoren
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1677
14
PHP-Tutorial
1278
29
C#-Tutorial
1257
24
Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Feb 22, 2024 pm 08:21 PM

Detaillierte Erläuterung der Funktion system() des Linux-Systems Der Systemaufruf ist ein sehr wichtiger Teil des Linux-Betriebssystems. Er bietet eine Möglichkeit, mit dem Systemkernel zu interagieren. Unter diesen ist die Funktion system() eine der am häufigsten verwendeten Systemaufruffunktionen. In diesem Artikel wird die Verwendung der Funktion system() ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Grundlegende Konzepte von Systemaufrufen Systemaufrufe sind eine Möglichkeit für Benutzerprogramme, mit dem Betriebssystemkernel zu interagieren. Benutzerprogramme fordern das Betriebssystem an, indem sie Systemaufruffunktionen aufrufen

Detaillierte Erläuterung des Linux-Befehls „curl'. Detaillierte Erläuterung des Linux-Befehls „curl'. Feb 21, 2024 pm 10:33 PM

Detaillierte Erläuterung des Linux-Befehls „curl“ Zusammenfassung: Curl ist ein leistungsstarkes Befehlszeilentool für die Datenkommunikation mit dem Server. In diesem Artikel wird die grundlegende Verwendung des Curl-Befehls vorgestellt und tatsächliche Codebeispiele bereitgestellt, um den Lesern zu helfen, den Befehl besser zu verstehen und anzuwenden. 1. Was ist Locken? Curl ist ein Befehlszeilentool zum Senden und Empfangen verschiedener Netzwerkanfragen. Es unterstützt mehrere Protokolle wie HTTP, FTP, TELNET usw. und bietet umfangreiche Funktionen wie Datei-Upload, Datei-Download, Datenübertragung und Proxy

Wie implementiert man HTTP-Streaming mit C++? Wie implementiert man HTTP-Streaming mit C++? May 31, 2024 am 11:06 AM

Wie implementiert man HTTP-Streaming in C++? Erstellen Sie einen SSL-Stream-Socket mit Boost.Asio und der asiohttps-Clientbibliothek. Stellen Sie eine Verbindung zum Server her und senden Sie eine HTTP-Anfrage. Empfangen Sie HTTP-Antwortheader und drucken Sie sie aus. Empfängt den HTTP-Antworttext und gibt ihn aus.

Ein tiefer Einblick in rekursive Algorithmen in C# Ein tiefer Einblick in rekursive Algorithmen in C# Feb 19, 2024 pm 08:09 PM

Für eine detaillierte Erklärung des rekursiven Algorithmus von C# sind spezifische Codebeispiele erforderlich. 1. Was ist ein rekursiver Algorithmus? Von einer Rekursion spricht man, wenn sich eine Funktion oder Methode während der Ausführung selbst aufruft. Rekursive Algorithmen sind eine gängige Problemlösungsmethode in der Programmierung. Es zerlegt ein Problem in ein oder mehrere Unterprobleme, die dem ursprünglichen Problem ähneln, aber kleiner sind, und löst dann das ursprüngliche Problem durch Lösen dieser Unterprobleme. Rekursive Algorithmen werden häufig zur Lösung sich wiederholender Probleme verwendet. 2. So implementieren Sie rekursive Algorithmen In C# gibt es zwei Hauptmethoden zur Implementierung rekursiver Algorithmen: direkte Rekursion und indirekte Rekursion. gerade

Wie implementiert man die Sicherheit beim Hochladen von HTTP-Dateien mit Golang? Wie implementiert man die Sicherheit beim Hochladen von HTTP-Dateien mit Golang? Jun 01, 2024 pm 02:45 PM

Die Implementierung der HTTP-Datei-Upload-Sicherheit in Golang erfordert die folgenden Schritte: Überprüfen Sie den Dateityp. Begrenzen Sie die Dateigröße. Erkennen Sie Viren und Malware. Speichern Sie Dateien sicher.

See all articles