HTTP - Meldungen



HTTP basiert auf dem Client-Server-Architektur-Modell und einer stateless Request / Response-Protokoll, das von den Austausch von Nachrichten über eine sichere TCP / IP Verbindung tätig ist.

Ein HTTP "Client" ist ein Programm (Web-Browser oder einem anderen Client) dass einrichtet eine Verbindung zu einem Server zum Zweck der Übersendung eines oder mehrere HTTP-Request-Nachrichten einrichtet. Ein HTTP "Server" ist ein Programm (in der Regel ein Webserver wie Apache Web Server oder Internet Information Services IIS, etc.), dass akzeptiert Verbindungen, um HTTP-Anforderungen durch das Senden der HTTP Rückantworten dienen.

HTTP macht Gebrauch von der Uniform Ressource Kennzeichnung(URI), eine gegeben Ressource identifizieren und um eine Verbindung aufbauen. Sobald die Verbindung etablieren ist, HTTP-Nachrichten werden in einem Format übergeben ähnlich zu dass verwendung durch Internet-Mail [RFC5322] und dem Multipurpose Internet Mail Extensions (MIME) [RFC2045] . Diese Nachrichten enthalten Anforderungen vom Client zum Server und Antworten vom Server zum Client, die folgendes Format haben wird:

 HTTP-message   = <Request> | <Response> ; HTTP/1.1 messages

HTTP-Anforderungen und HTTP-Antworten verwenden Sie einen generische Nachrichten format von RFC 822 für die Übertragung der erforderlichen Daten ein. Diese generische Meldung Format besteht aus den folgenden vier Gegenstände.

  • eine Start linie
  • Keine oder mehrere Header-Felder gefolgt von CRLF
  • Eine leer Zeile (dh eine Linie mit nichts voran CRLF), die das Ende der Header-Felder
  • Optional kann eine Nachricht Körper

In den folgenden Abschnitten, wir werden erklären jeder von der Entitäten verwendet in einer HTTP-Nachricht .

Nachricht auf Start-Line

Ein Start-Linie haben die folgende generische Syntax:

start-line = Request-Line | Status-Line

Wir werden Anfrage-Line und Status-Line bei der Diskussion von HTTP-Anforderungen und HTTP-Antwort-Nachrichten beziehungsweise. Denn jetzt, lasst uns sehen, die Beispiele der Startlinie im Falle einer Anfrage und Antwort:

GET /hello.htm HTTP/1.1     (This is Request-Line sent by the client)

HTTP/1.1 200 OK             (This is Status-Line sent by the server)

Header-Felder

HTTP-Header-Felder liefern erforderlichen Informationen über die Anforderung oder eine Antwort, oder über das Objekt im Nachrichtentext gesendet. Es gibt vier Arten von HTTP-Kopfzeilen:

  • Allgemein-Header: Diese Header-Felder haben allgemeine Anwendbarkeit sowohl für Anforderungs- und Antwortnachrichten.

  • Anfrage-Header: Diese Header-Felder haben Anwendbarkeit nur für Anforderungsnachrichten .

  • Antwort-Header: Diese Header-Felder haben Anwendbarkeit nur für Antwortnachrichten.

  • Entität-header: Diese Header-Felder definieren Metainformationen über das Entitätskörper oder, wenn kein Körper vorhanden ist, über die Ressource durch die Anforderung identifizierte .

Alle oben genannten Header folgen der gleichen generischen Format und jeder der Header-Feld besteht aus einem Namen, gefolgt von einem Doppelpunkt (:) und der Feldwert wie folgt:

message-header = field-name ":" [ field-value ]

Im Folgenden werden die Beispiele verschiedener Kopffelder:

User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

Nachrichtentext

Der Nachrichtentext Teil ist optional für eine HTTP-Nachricht, aber wenn es verfügbar ist, wird es verwendet, um die Daten-Inhalts mit der Anfrage oder Antwort assoziiert führen. Wenn Einheitshauptteil zugeordnet ist, dann in der Regel Content-Type und Content-Length Header Linien geben die Natur des Körpers verbunden sind.

Ein Nachrichtentext ist derjenige, der die aktuellen HTTP-Request-Daten (einschließlich der Formulardaten und hochgeladen, etc.) und HTTP-Response-Daten vom Server (einschließlich Dateien, Bilder, etc.) trägt. Unten ist der einfache Inhalt einer Nachrichtentext:

<html>
   <body>
   
      <h1>Hello, World!</h1>
   
   </body>
</html>

Nächsten beiden Kapiteln wird Gebrauch machen von oben erläutert Konzepte zu vorzubereiten HTTP-Requests und HTTP Antworten .

Advertisements