Ein HTTP-Client sendet eine HTTP-Anforderung an einen Server in Form einer Anforderungs nachricht welche umfasst folgendes Format:
Die folgenden Abschnitte erklären Entitäten verwendet jede der in einer HTTP-Anforderung Nachricht.
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.
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. |
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). |
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.
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>