Das HTTP (Hypertext Transfer Protocol) ist das zentrale Anwendungsprotokoll des Webs. Es definiert, wie ein Client — typischerweise ein Browser — Ressourcen wie HTML-Seiten, Bilder oder API-Daten von einem Server anfordert, und welche Antworten der Server dazu liefert.
HTTP ist text- bzw. nachrichtenorientiert und sitzt oberhalb von TCP (bzw. QUIC bei HTTP/3). Eine HTTP-Kommunikation besteht im Kern aus einem Request und einer Response.
Request-Methoden
Jeder Request nutzt eine Methode, die die Art der gewünschten Aktion beschreibt. Die wichtigsten:
GET— fordert eine Ressource an, ohne sie zu verändern.POST— sendet Daten an den Server, üblicherweise zur Erzeugung neuer Ressourcen.PUT— ersetzt eine Ressource vollständig.PATCH— ändert eine Ressource teilweise.DELETE— löscht eine Ressource.HEAD— wieGET, aber ohne Antwortkörper.OPTIONS— fragt unterstützte Methoden oder CORS-Regeln ab.
Statuscodes
Die Antwort enthält einen dreistelligen Statuscode, gegliedert in fünf Klassen:
1xx— informativ.2xx— erfolgreich (z. B.200 OK,201 Created).3xx— Weiterleitung (z. B.301 Moved Permanently,304 Not Modified).4xx— Fehler des Clients (z. B.404 Not Found,401 Unauthorized).5xx— Fehler des Servers (z. B.500 Internal Server Error,503 Service Unavailable).
Header
Sowohl Requests als auch Responses tragen Header — Schlüssel-Wert-Paare, die Metadaten transportieren: gewünschte Sprachen, Cookies, Cache-Hinweise, Inhaltstyp, Authentifizierung. Header sind ein zentrales Steuerungsinstrument von HTTP.
Versionen
HTTP hat sich in mehreren Schritten weiterentwickelt:
- HTTP/1.1 — textbasiert, eine Anfrage pro Verbindung (mit Keep-Alive auch mehrere nacheinander).
- HTTP/2 — binär, multiplexiert mehrere parallele Anfragen über eine Verbindung.
- HTTP/3 — setzt auf QUIC über UDP statt TCP und reduziert Latenz weiter.
In allen Versionen bleibt das semantische Modell von Methoden, Statuscodes und Headern erhalten.