HTTP: Hypertext Transfer Protocol
Willemers Informatik-Ecke
Das Hypertext Transfer Protocol (HTTP) ist das Protokoll, das vor allem zwischen Browsern und Webservern verwendet wird, um im World Wide Web HTML-Dokumente auszutauschen.

Der Standardport ist 80. Die Übertragung erfolgt unverschlüsselt. Die aktuelle Version ist HTTP/2 und ist in RFC 7540 definiert.

Als verschlüsselte Variante steht HTTPS zur Verfügung, die standardmäßig den Port 443 verwendet.

HTTP kennt die Kommandos:

GET-Anfrage

Der Client sendet eine Zeile an den Server. Leerzeichen und Sonderzeichen dürfen in der URL nicht auftreten. Werden sie in den Parametern dennoch benötigt, werden Leerzeichen beispielsweise durch %20 dargestellt. Andere Zeichen werden durch eine URL-Codierung umgesetzt, die von der Zeichencodierung abhängig ist.

Der Request-Header der GET-Anfrage übermittelt folgende Informationen an den Server:

Im Anschluss an das Senden der Anfrage, wartet der Client auf die Antwort des Servers.

POST-Anfrage

Eine POST-Anfrage folgt der gleichen Struktur wie eine GET-Anfrage. Allerdings sendet POST keine Parameter per URL. Die Parameter werden im Message Body (Payload) transportiert. Die GET-Anfrage ist dafür gedacht, Anfragen zu stellen, die keine Änderungen an den Server-Ressourcen verursachen. Die Parameter beschreiben lediglich die angeforderten Daten. POST-Parameter sind dafür gedacht, Server-Ressourcen zu ändern.

Antwort einer Anfrage

Die erste Zeile gibt den Status zurück. Die Angaben werden durch Leerzeichen getrennt und haben folgenden Inhalt: Die Antwort einer erfolgreichen Anfrage lautet beispielsweise:
HTTP/1.1 200 OK

Weitere Angaben werden im HEADER gemacht:

Es folgt der BODY der Antwort mit den eigentlichen Daten.

HTTP-Status-Codes

Der Server antwortet auf Anfragen mit einem Status-Code in Form einer dreistelligen Zahl.

Basis Zahlencode Bedeutung
1xx Informativ
2xx Erfolgreich
200 OK
201 Created
202 Accepted
204 No Content. Anfrage ok, aber kein neuer Inhalt
3xx Es sind weitere Aktionen erforderlich
300 Mehrere Auswahlmöglichkeiten
301 Permanent auf anderer URL
302 Temporär auf anderer URL
304 Inhalt ist unverändert
4xx Fehler des Client
400 Fehlerhafte Anfrage, etwa ungültige URL
401 Nicht authorisiert
403 Verboten
404 Nicht gefunden
5xx Fehler des Servers
500 Interner Serverfehler
501 Nicht implementiert
502 Falsches Gateway (Proxy-Anwendung)
503 Server ist überlastet