Nachrichten und Methoden
In dieser interaktiven Lerneinheit lernst du den Aufbau und die Struktur von HTTP-Nachrichten kennen - von Request-Methods wie GET und POST bis zu Response-Codes und Headers. Du verstehst, wie Client und Server über HTTP kommunizieren und wie Nachrichten technisch aufgebaut sind. Diese Grundlagen sind essentiell für die Entwicklung und das Debugging von Webanwendungen sowie für die Analyse von HTTP-Traffic.
Einführung
HTTP regelt jeden Klick, jedes Formular und jede API-Anfrage im Web – aber kaum jemand versteht, was da wirklich passiert. Dabei ist genau dieses Verständnis essenziell, wenn du Webanwendungen entwickeln, analysieren oder absichern willst.

Was sendet der Browser? Was antwortet der Server? Und was passiert, wenn etwas schiefläuft?
In dieser Lerneinheit schauen wir uns an, wie HTTP-Nachrichten aufgebaut sind und welche Methoden zum Einsatz kommen. Du lernst, welche Bestandteile ein Request oder eine Response enthält – und warum es entscheidend ist, diese Struktur zu kennen.
Lernziele
Nach dieser Lerneinheit kannst du:
- den Aufbau und die Bestandteile von HTTP-Requests und HTTP-Responses beschreiben.
- typische HTTP-Methoden wie GET, POST oder PUT unterscheiden und ihren Einsatzzweck erklären.
- die Bedeutung und Struktur von HTTP-Status-Codes verstehen und ausgewählte Codes korrekt interpretieren.
- die Rolle von Header-Feldern in HTTP-Nachrichten erklären und typische Felder wie
Content-Type,AuthorizationoderSet-Cookieeinordnen.
Überleitung
Bevor du verstehen kannst, was eine Methode wie POST genau tut oder was ein Status-Code wie 404 bedeutet, musst du wissen, wie eine HTTP-Nachricht grundsätzlich aufgebaut ist. Deshalb starten wir mit dem grundsätzlichen Aufbau von Requests und Responses.
Aufbau von HTTP-Nachrichten
Eine HTTP-Nachricht besteht aus einem Startbereich, Header-Feldern, einer Trennzeile und optional einem Message Body. Dabei unterscheidet man:
- Requests: vom Client gesendete Anfragen
- Responses: vom Server zurückgesandte Antworten
Aufbau von HTTP-Nachrichten: Details
1. Startbereich
-
Request-Line (bei Anfragen):
- Methode (z. B. GET, POST)
- Request-URI (Adresse der Ressource)
- HTTP-Version (z. B. HTTP/1.1)
-
Status-Line (bei Antworten):
- HTTP-Version
- Status-Code (z. B. 200)
- Reason-Phrase (Status-Beschreibung, z. B. “OK”)
Aufbau von HTTP-Nachrichten: Details
2. Header-Felder
Header-Felder liefern Metadaten zur Nachricht.
- Host: Domain des Servers
- User-Agent: Client-Informationen
- Accept / Content-Type: unterstützte bzw. gelieferte Medientypen
- Content-Length: Länge des Message Body in Bytes
- Set-Cookie: Anweisungen zum Speichern von Cookies
Jeder Fachbegriff wird beim ersten Auftreten definiert und sein Nutzen erklärt.
Aufbau von HTTP-Nachrichten: Details
3. Trennzeile
Eine leere Zeile signalisiert das Ende der Header und den Beginn des Message Body.
4. Message Body
Der Message Body enthält Nutzdaten:
- Bei GET meist leer
- Bei POST / PUT Formulardaten oder JSON
Überleitung
Neben dem Nachrichtenaufbau entscheidet die Methode einer Anfrage, welche Aktion der Server ausführt. Diese lernst du im nächsten Block kennen.
HTTP-Methoden
HTTP-Methoden (auch Verben genannt) legen fest, welche Operation der Server auf der angefragten Ressource ausführt.
-
GET
-
Ruft eine Ressource ab, ohne den Serverzustand zu ändern.
-
Beispiel-Anfrage:
GET /index.html HTTP/1.1 Host: www.beispiel.de Accept: text/html
-
HTTP-Methoden: Details
-
POST
-
Sendet Daten an den Server, z. B. Formular- oder JSON-Daten.
-
Beispiel:
POST /formular_verarbeiten.php HTTP/1.1 Host: www.beispiel.de Content-Type: application/x-www-form-urlencoded Content-Length: 27 name=Jan&alter=30
-
HTTP-Methoden: Details
-
PUT
-
Legt eine Ressource an oder aktualisiert sie vollständig (idempotent).
-
Beispiel:
PUT /benutzer/123 HTTP/1.1 Host: www.beispiel.de Content-Type: application/json Content-Length: 19 {"name":"Jan","alter":31}
-
HTTP-Methoden: Details
-
DELETE
-
Löscht die angegebene Ressource.
-
Beispiel:
DELETE /benutzer/123 HTTP/1.1 Host: www.beispiel.de
-
HTTP-Methoden: Details
-
Weitere Methoden:
- HEAD: Wie GET, aber ohne Message Body
- OPTIONS: Listet unterstützte Methoden auf
- PATCH: Partielle Aktualisierung
- CONNECT: Baut einen Tunnel via Proxy
- TRACE: Gibt die empfangene Anfrage zurück
Überleitung
HTTP bildet die Grundlage für die Kommunikation zwischen Webbrowsern und Servern. In diesem Abschnitt lernst du zwei zentrale Bestandteile jeder HTTP-Nachricht kennen: Status-Codes und Header-Felder. Sie spielen eine entscheidende Rolle dabei, wie Informationen übertragen, interpretiert und verarbeitet werden.
HTTP-Status-Codes: Was sagen sie aus?
Wenn du eine Website aufrufst, antwortet der Server mit einem sogenannten Status-Code. Dieser dreistellige Code zeigt an, ob die Anfrage erfolgreich war, umgeleitet wurde oder einen Fehler verursacht hat. Die Codes sind in fünf Klassen eingeteilt:
| Erste Ziffer | Bedeutung | Typisches Beispiel |
|---|---|---|
| 1xx | Information | 100 Continue |
| 2xx | Erfolg | 200 OK |
| 3xx | Umleitung | 301 Moved Permanently |
| 4xx | Client-Fehler | 404 Not Found |
| 5xx | Server-Fehler | 500 Internal Server Error |
Zusätzlich zum Code kann ein kurzer Text erscheinen – die sogenannte Reason-Phrase, z. B. “OK” bei 200 oder “Not Found” bei 404. Diese Phrasen helfen beim Debugging, sind aber seit HTTP/2 technisch nicht mehr erforderlich.
Weitere wichtige Status-Codes im Überblick
- 400 Bad Request: Die Anfrage war fehlerhaft (z. B. falsche Syntax).
- 401 Unauthorized: Authentifizierung ist erforderlich.
- 403 Forbidden: Zugriff ist verboten, auch mit gültiger Authentifizierung.
- 503 Service Unavailable: Der Server ist temporär nicht erreichbar (z. B. Wartung).
Beispiel aus der Praxis
Wenn du eine nicht existierende Seite aufrufst, bekommst du einen 404 Not Found. Stell dir vor, du klickst auf einen alten Link in einem Forum – die Seite wurde gelöscht oder verschoben.
Bei einem 401 Unauthorized bekommst du möglicherweise keine Daten von einer API, weil dein Zugriffstoken fehlt oder ungültig ist.
Tipp: Gute Webanwendungen behandeln diese Fehler gezielt – z. B. mit einer benutzerfreundlichen Fehlermeldung oder einer Weiterleitung zur Login-Seite.
HTTP-Header-Felder: Metadaten für die Kommunikation
Jede HTTP-Nachricht enthält neben dem eigentlichen Inhalt auch sogenannte Header-Felder. Diese bestehen aus Schlüssel-Wert-Paaren und geben wichtige Zusatzinformationen über die Nachricht mit.
Request-Header: Was sendet der Client?
| Header-Name | Beispiel | Beschreibung |
|---|---|---|
| Host | Host: www.example.com | Gibt an, zu welchem Server (Domain) die Anfrage gehört. Wichtig für Virtual Hosting. |
| User-Agent | User-Agent: Mozilla/5.0 (Windows NT…) | Enthält Informationen über Browser, Betriebssystem und Gerät. Kann serverseitig angepasste Inhalte liefern. |
| Accept | Accept: text/html, application/json;q=0.9 | Legt fest, welche Medientypen der Client akzeptiert. Der optionale Qualitätsfaktor q priorisiert Formate. |
| Authorization | Authorization: Bearer <Token> | Dient zur Authentifizierung und Autorisierung, insbesondere bei APIs. |
| Connection | Connection: keep-alive | Steuert, ob die TCP-Verbindung nach der Antwort offen bleibt (keep-alive) oder geschlossen wird. Relevant für HTTP/1.1. |
Response-Header: Was antwortet der Server?
| Header-Name | Beispiel | Beschreibung |
|---|---|---|
| Content-Type | Content-Type: text/html; charset=UTF-8 | Gibt den Medientyp und Zeichensatz des Bodys an (z. B. HTML, JSON). |
| Content-Length | Content-Length: 438 | Zeigt die Größe des Antwort-Bodys in Bytes an, damit der Client weiß, wie viele Daten er lesen soll. |
| Set-Cookie | Set-Cookie: sessionid=abc123; Path=/; HttpOnly | Weist den Browser an, ein Cookie zu speichern (z. B. für Session-Management). |
| Cache-Control | Cache-Control: no-cache, no-store, must-revalidate | Legt Caching-Regeln fest, etwa ob und wie lange die Antwort zwischengespeichert werden darf. |
Zusammenfassung und Ausblick
Zusammenfassung:
In dieser Einheit hast du gelernt, wie HTTP als Kommunikationsprotokoll zwischen Client (z. B. Browser) und Server funktioniert. HTTP basiert auf Nachrichten, die entweder Requests (Anfragen vom Client) oder Responses (Antworten vom Server) sind.
HTTP-Request
Ein HTTP-Request besteht aus einer Request-Line (z. B. GET /index.html HTTP/1.1), Header-Feldern (wie Host, User-Agent, Accept) und optional einem Body, der meist bei POST- oder PUT-Requests verwendet wird.
HTTP-Response
Ein HTTP-Response enthält eine Statuszeile mit einem Status-Code (z. B. 200 OK), Header-Felder (z. B. Content-Type, Set-Cookie) und einen Body mit den eigentlichen Daten (z. B. HTML-Seite, JSON-Antwort).
Status-Codes
Status-Codes bestehen aus drei Ziffern und zeigen an, wie die Anfrage verarbeitet wurde. Die erste Ziffer kategorisiert den Code:
- 1xx: Informationen
- 2xx: Erfolg
- 3xx: Umleitungen
- 4xx: Fehler beim Client (z. B.
404 Not Found) - 5xx: Fehler beim Server (z. B.
500 Internal Server Error)
Die dazugehörige Reason-Phrase erklärt den Code leserfreundlich, wird aber ab HTTP/2 nicht mehr übertragen.
HTTP-Methoden
HTTP kennt verschiedene Methoden, um Ressourcen zu manipulieren:
GET: ruft Daten abPOST: sendet Daten (z. B. Formulare)PUT: aktualisiert oder erstellt DatenDELETE: löscht Ressourcen- Weitere Methoden:
HEAD,OPTIONS,PATCH,TRACE,CONNECT
Header-Felder
Header übertragen wichtige Metadaten:
- Im Request z. B.
Accept,Authorization,Connection - Im Response z. B.
Content-Type,Set-Cookie,Cache-Control
Sie sind entscheidend für Inhalte, Caching, Sicherheit und Verbindungssteuerung.
Ausblick:
HTTP ist von Natur aus zustandslos – der Server merkt sich nicht, was du zuvor angefragt hast. In der nächsten Lerneinheit lernst du, wie Cookies eingesetzt werden, um trotzdem Sitzungen, Logins oder persönliche Einstellungen zu ermöglichen. Du erfährst, wie der Server Informationen im Client speichert und welche Sicherheitsaspekte dabei eine Rolle spielen.