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, Authorization oder Set-Cookie einordnen.

Ü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 Formular­daten 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
⏳ Lädt Dataview-Inhalt...

Ü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 ZifferBedeutungTypisches Beispiel
1xxInformation100 Continue
2xxErfolg200 OK
3xxUmleitung301 Moved Permanently
4xxClient-Fehler404 Not Found
5xxServer-Fehler500 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-NameBeispielBeschreibung
HostHost: www.example.comGibt an, zu welchem Server (Domain) die Anfrage gehört. Wichtig für Virtual Hosting.
User-AgentUser-Agent: Mozilla/5.0 (Windows NT…)Enthält Informationen über Browser, Betriebssystem und Gerät. Kann serverseitig angepasste Inhalte liefern.
AcceptAccept: text/html, application/json;q=0.9Legt fest, welche Medientypen der Client akzeptiert. Der optionale Qualitätsfaktor q priorisiert Formate.
AuthorizationAuthorization: Bearer <Token>Dient zur Authentifizierung und Autorisierung, insbesondere bei APIs.
ConnectionConnection: keep-aliveSteuert, 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-NameBeispielBeschreibung
Content-TypeContent-Type: text/html; charset=UTF-8Gibt den Medientyp und Zeichensatz des Bodys an (z. B. HTML, JSON).
Content-LengthContent-Length: 438Zeigt die Größe des Antwort-Bodys in Bytes an, damit der Client weiß, wie viele Daten er lesen soll.
Set-CookieSet-Cookie: sessionid=abc123; Path=/; HttpOnlyWeist den Browser an, ein Cookie zu speichern (z. B. für Session-Management).
Cache-ControlCache-Control: no-cache, no-store, must-revalidateLegt Caching-Regeln fest, etwa ob und wie lange die Antwort zwischengespeichert werden darf.
⏳ Lädt Dataview-Inhalt...

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 ab
  • POST: sendet Daten (z. B. Formulare)
  • PUT: aktualisiert oder erstellt Daten
  • DELETE: 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.