HTTP - Anfragen


Advertisements

Ein HTTP-Client sendet eine HTTP-Anforderung an einen Server in Form einer Anforderungs nachricht welche umfasst folgendes Format:

  • Ein Antrag Zeile
  • Keine oder mehrere Header (General | Anfrage | Entität) 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
  • Die folgenden Abschnitte erklären Entitäten verwendet jede der in einer HTTP-Anforderung Nachricht.

    Anfrage-Zeile

    Das Anfrage-Zeile beginnt mit einem Verfahren Token, gefolgt von der Request-URI und der Protokollversion, und mit CRLF. Die Elemente werden durch Raum SP Zeichen getrennt sind.

Request-Line = Method SP Request-URI SP HTTP-Version CRLF

Lassen wir diskutieren über jeden der Teile erwähnt in der Anfrage-Line.

Anfrage Methode

Die Anfrage Methode gibt die Methode, um auf die Ressource durch die gegebene Request-URI identifiziert durchgeführt werden. Die Methode ist Groß- und Kleinschreibung und sollte immer in Großbuchstaben erwähnt werden. In der folgenden Tabelle sind alle unterstützten Methoden in HTTP / 1.1.

S.N. Methode und Beschreibung
1 GET

Die GET-Methode wird verwendet, um abzurufen Informationen aus dem gegebenen Server mitHilfe einem gegeben URI.Anfragen mitHilfe GET sollte nur Daten abrufen und sollte keine weiteren Auswirkungen auf die Daten haben.

2 HEAD

Gleich wie GET, aber es überträgt die Statuszeile und die Header-abschnitt nur.

3 POST

Eine POST-Anforderung wird verwendet, um Daten an den Server senden, für beispielsweise Kundeninformationen, Datei-Upload etc. mittels HTML-Formularen.

4 PUT

Ersetzt alle aktuellen Darstellungen der Zielressource mit dem hochgeladenen Inhalte.

5 DELETE

Entfernt alle aktuellen Darstellungen der Zielressource gegeben durch URI.

6 CONNECT

etablieren einen Tunnel auf die Server identifiziert von einem gegeben URI.

7 OPTIONS

Beschreiben Sie die Kommunikationsmöglichkeiten für die Zielressource.

8 TRACE

Führt eine Nachricht Schleifen zurück test zusammen mit dem Pfad zum Ziel-Ressource.

Request-URI

Die Request-URI ist ein Uniform Resource Identifier und identifiziert die Ressourcen, auf der die Anforderung anzuwenden. Im Folgenden sind die am häufigsten verwendeten Formen, um angeben einen URI:

Request-URI = "*" | absoluteURI | abs_path | authority
S.N. Methode und Beschreibung
1 Das Sternchen * wird verwendet, wenn eine HTTP-Anfrage tut nicht für eine bestimmte Ressource, sondern auf dem Server selbst, und ist nur dann zulässig, wenn das verwendete Verfahren nicht notwendigerweise auf eine Ressource an. Beispielsweise:

OPTIONEN * HTTP / 1.1

2 Die absoluteURI wird verwendet, wenn eine HTTP-Anforderung an einen Proxy hergestellt. Der Proxy wird aufgefordert, den Anforderung oder eine Dienstleistung von einem gültigen Cache weiterleiten, und Rückkehr die Antwort. Beispielsweise:

bekommen http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1

3 Die häufigste Form der Request-URI ist, dass verwendung in um eine Ressource zu einem Ursprungsserver oder dem Gateway identifizieren. So beispielsweise ein Client wollen abrufen die eine Ressource abrufen direkt vom Ursprungsserver werden erstellen eine TCP-Verbindung auf Port 80 des Host "www.w3.org" erstellen und senden Sie die folgenden Zeilen:

GET /pub/WWW/TheProject.html HTTP/1.1

Gastgeber: www.w3.org

Beachten Sie, dass der absolute Pfad darf nicht leer sein; wenn keine vorhanden in der ursprünglichen URI ist, es muss sein gegeben als "/" (das Root-Server).

Anforderung Kopfzeile feld

Wir wird studieren Allgemein-Header und Entity-Header in einem eigenen Kapitel, wenn wir wird lernen HTTP-Header-Felder . Denn jetzt, lassen Sie uns Prüfen, was Antrag Header-Felder sind.

Die Anfrage-Header-Felder ermöglichen es dem Client, um zusätzliche Informationen über die Anforderung übergeben und über den Kunden selbst, an den Server. Diese Felder wirkt als Anfrage modifiers.Here ist eine Liste einiger wichtiger Anfrage-Header-Felder, die auf der Grundlage der Anforderung verwendet werden können:

  • Accept-Charset

  • Accept-Encoding

  • Accept-Language

  • Authorization

  • Expect

  • From

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Proxy-Authorization

  • Range

  • Referer

  • TE

  • User-Agent

Sie können Einführung Ihre Brauch Felder in Falls Sie gehen, um Ihre eigenen Client-und Web-Server zu schreiben.

Beispiele für Anforderung-Nachricht

Nun wollen wir sie alle zusammen, um eine HTTP-Anfrage zu bilden, um zu holen hello.htm Seite vom Webserver Laufen auf howcodex.com

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.howcodex.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

Hier Wir sind es keine sendet Anforderungsdatei an den Server , weil wir sind holenung eine einfache HTML-Seite vom Server. Anschluss ist eine allgemeine-Header, und der Rest der Header-Request-Header. Das folgende Beispiel zeigt, wie Sie sendet daten an den Server mitHilfe Anforderungs nachricht body :

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.howcodex.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

licenseID=string&content=string&/paramsXML=string

Hier ist die, gegeben URL /cgi-bin/process.cgi wird sein verwendet, um die prozess bestanden Daten und entsprechend wird eine Antwort zurückzusenden. Hier Inhaltstyp teilt dem Server mit, dass die übergebenen Daten ist ein einfaches Web-Formular-Daten und Länge wird die tatsächliche Länge der Daten in den Nachrichtentext setzen werden. Das folgende Beispiel zeigt, wie Sie einfache XML auf Ihren Webserver übergeben:

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.howcodex.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>
Advertisements