
|
|
HTTP-Request
Ein HTTP-Request hat folgenden Aufbau:
Er beginnt also immer mit einer Zeile, die beispielsweise so aussieht:
GET /Verzeichnis/Datei.htm HTTP/1.1
Als Methode sind neben GET (einfacher Abruf einer Adresse) auch POST (Abruf
einer Seite mit gleichzeitiger Übermittlung von Formulardaten) und HEAD (Abruf
des HTTP-Reply-Headers einer Seite ohne Inhalt) möglich. Die übergebene URL
enthält weder den Protokoll-Identifier (der war logischerweise http://, sonst
wäre kein HTTP-Request generiert worden), noch die Adresse des Hosts. Diese
wurde bereits zuvor beim Aufbau der TCP-Verbindung verarbeitet. Am Ende der
ersten Zeile steht noch, ob die Datei per HTTP/1.1 oder HTTP/1.0 gesendet
werden soll.
Nun folgen optionale weitere Zeilen mit Informationen für den Server oder
sonstige Parameter. Das Ende der Parameterzeilen wird durch eine Leerzeile
angezeigt. Falls als Methode POST eingesetzt wird, folgen nun noch die zu
übermittelnden Daten. Deren Länge in Bytes wurde zuvor in einer der
Parameterzeilen angegeben.
Einige Beispiele, was die Parameterzeilen enthalten können:
| Connection: close |
Trotz HTTP/1.1 soll die Verbindung nach dem Reply geschlossen
werden |
| User-agent: xxx |
Gibt den Namen des verwendeten Browsers und seine Versionsnummer
an |
| Accept: text/html... |
Gibt an, welche Dateiformate der Browser als Antwort akzeptiert |
| Accept-language: de |
Gibt die bevorzugte Sprache des Client an. Der Server kann darauf mit
einer Seite in der richtigen Sprache reagieren |
| Cookie: xxxx |
Der Client hatte zuvor ein Cookie vom Server erhalten. Er sendet es
jetzt mit jedem weiteren Request an diesen Server mit. So kann der
Server einzelne Requests immer sicher einem bestimmten Kunden zuordnen,
z.B. für einen Warenkorb. |
| Authorization: xxx |
Sobald der Server für eine Seite einen Benutzernamen und Passwort
verlangt, werden diese mit jedem folgenden Request an diesen Server
mitgeschickt. |
|
|