HTTP - Übersicht

Das Hypertext Transfer Protocol (HTTP) ist ein Protokoll auf Anwendungsebene für verteilte, kollaborative Hypermedia-Informationssysteme. Dies ist die Grundlage für die Datenkommunikation für das World Wide Web (dh Internet) seit 1990. HTTP ist ein generisches und zustandsloses Protokoll, das auch für andere Zwecke verwendet werden kann, indem Erweiterungen seiner Anforderungsmethoden, Fehlercodes und Header verwendet werden.

Grundsätzlich ist HTTP ein TCP / IP-basiertes Kommunikationsprotokoll, mit dem Daten (HTML-Dateien, Bilddateien, Abfrageergebnisse usw.) im World Wide Web bereitgestellt werden. Der Standardport ist TCP 80, es können jedoch auch andere Ports verwendet werden. Es bietet eine standardisierte Möglichkeit für Computer, miteinander zu kommunizieren. Die HTTP-Spezifikation gibt an, wie die Anforderungsdaten der Clients erstellt und an den Server gesendet werden und wie die Server auf diese Anforderungen reagieren.

Grundfunktionen

Es gibt drei grundlegende Funktionen, die HTTP zu einem einfachen, aber leistungsstarken Protokoll machen:

  • HTTP is connectionless:Der HTTP-Client, dh ein Browser, initiiert eine HTTP-Anforderung, und nachdem eine Anforderung gestellt wurde, wartet der Client auf die Antwort. Der Server verarbeitet die Anforderung und sendet eine Antwort zurück, wonach der Client die Verbindung trennt. Client und Server kennen sich also nur während der aktuellen Anforderung und Antwort. Weitere Anforderungen werden bei einer neuen Verbindung gestellt, da Client und Server einander neu sind.

  • HTTP is media independent:Dies bedeutet, dass jeder Datentyp über HTTP gesendet werden kann, solange sowohl der Client als auch der Server wissen, wie mit dem Dateninhalt umzugehen ist. Sowohl der Client als auch der Server müssen den Inhaltstyp mit dem entsprechenden MIME-Typ angeben.

  • HTTP is stateless:Wie oben erwähnt, ist HTTP verbindungslos und eine direkte Folge davon, dass HTTP ein zustandsloses Protokoll ist. Der Server und der Client kennen sich nur während einer aktuellen Anforderung. Danach vergessen sich beide. Aufgrund dieser Art des Protokolls können weder der Client noch der Browser Informationen zwischen verschiedenen Anforderungen auf den Webseiten speichern.

HTTP / 1.0 verwendet für jeden Anforderungs- / Antwortaustausch eine neue Verbindung, wobei als HTTP / 1.1-Verbindung für einen oder mehrere Anforderungs- / Antwortaustausche verwendet werden kann.

Grundlegende Architektur

Das folgende Diagramm zeigt eine sehr grundlegende Architektur einer Webanwendung und zeigt, wo sich HTTP befindet:

Das HTTP-Protokoll ist ein Anforderungs- / Antwortprotokoll, das auf der Client / Server-basierten Architektur basiert, bei der Webbrowser, Roboter und Suchmaschinen usw. wie HTTP-Clients und der Webserver als Server fungieren.

Klient

Der HTTP-Client sendet eine Anforderung in Form einer Anforderungsmethode, eines URI und einer Protokollversion an den Server, gefolgt von einer MIME-ähnlichen Nachricht, die Anforderungsmodifikatoren, Clientinformationen und möglichen Textinhalt über eine TCP / IP-Verbindung enthält.

Server

Der HTTP-Server antwortet mit einer Statuszeile, einschließlich der Protokollversion der Nachricht und eines Erfolgs- oder Fehlercodes, gefolgt von einer MIME-ähnlichen Nachricht, die Serverinformationen, Entitätsmetainformationen und möglichen Entitätskörperinhalt enthält.