Anwendungen
Einführung
Verzeichnisse
Telnet, FTP...
HTTP
E-Mail
Sicherheit
Management
Unix & Windows

Hauptmenü
Startseite
Einführung
Daten übertragen
Datennetze
Transport
Info

Themen
Einführung
HTTP-Request
HTTP-Reply
Proxy-Server
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.