HTTP - Das Protokoll des Web
Willemers Informatik-Ecke
HTTP ist das Protokoll des World Wide Webs. Übertragen werden Dokumente, die in HTML kodiert sind. Als Client arbeitet ein Browser wie Firefox, Chromium oder andere.

Das Protokoll ist textbasiert. Das bedeutet, dass die Anfragen (Request) und Antworten (Response) im Klartext über die Leitung gehen.

Das Protokoll ist grundsätzlich statuslos. Das bedeutet, dass eine Sitzung nach der Antwort durch den Server endet. In seiner ursprünglichen Anwendung für den Austausch wissenschaftlicher Dokumente war das völlig ausreichend. In Zeiten von Online-Shops sind aber längere Sitzungen erforderlich. Das heißt, dass der Server mehrere Anfragen einem Client zuordnen können muss. Dies wird beispielsweise über Cookies realisiert.

Die URL

Eine URL besteht aus dem Hostname (oder dessen IP-Adresse) und durch einen Schrägstrich getrennt das gewünschte Dokument, das ggf. durch einen Pfad spezifiziert wird. Optional kann durch einen Doppelpunkt angehängt ein Port spezifiziert werden.

Der Standardport von HTTP ist 80.

HTTP Request-Methoden

Das HTTP-Protokoll kannte in der Version 1.0 die Befehle GET, HEAD und POST. Die Version 1.1 brachte noch PUT und DELETE hinzu. Eine Request beginnt mit der Zeile des Befehls. Beispielsweise lautet diese für einen GET der Datei index.htm folgendermaßen:
GET /index.htm HTP/1.1
Der Aufbau ist
Befehl Leerzeichen URL Leerzeichen Version CR+LF

Alle Zeilen des Befehls werden mit CR-LF abgeschlossen.

Der Befehl GET besitzt nur den HEAD, keinen BODY. Darum müssen eventuelle Parameter in der URL untergebracht werden. Das hat zur Konsequenz, dass diese Parameter nicht verschlüsselt werden können.

Der Head enthält allerdings durchaus weitere Informationen. Darin steht beispielsweise der Browser (User-Agent) oder die Sprache, die der Client bevorzugt (Accept-language). Durch einen Doppelpunkt getrennt werden die Inhalte übermittelt.

HTTP Response

Die erste Zeile der Antwort des Server ist der Status-Code. Er folgt dem Aufbau:
Protokoll Leerzeichen Nummer Leerzeichen Status CR+LF
Beispielsweise ist eine positive Antwort:
HTTP/1.1 200 OK
Startet die Zahl mit ... Beispiele sind: Die Headerzeilen liefern zusätzliche Informationen wie Webserver (Server) und dessen Version.

Nach dem Header folgt der eigentliche Dateninhalt, die sogenannte Payload. Auf einen GET ist dies typischerweise ein HTML-Dokument.

Unterschiede zwischen HTTP/1.0 und 1.1

HTTP/1.1 erlaubt mehr als 1 Objekt pro Anfrage und stellt damit den Übergang von non-persistent nach persistant dar.

HTTP/1.1 ermöglicht Caching. Der Server meldet modified contents über ein ETag (Beispielsweise x234dff) und max-age (beispielsiweiese (max-age=120). Wendet sich der Client mit der gleicher ETag innerhalb der max-age, meldet sich der Server mit dem Status 304 ohne Payload.

Authentifizierung

Wenn Sie in einem Verzeichnis Ihrer Web-Präsenz die Datei .htaccess hinterlegen, können Sie eine Anmeldung des Benutzers erzwingen.

Es erscheint eine Dialogbox, die Benutzername und Passwort erfragt und mit der in der .htaccess hinterlegten Passwortdatei abgleicht. Jene legt auch fest, auf welche Art (AuthType) kommuniziert wird.