Webserver Grundlagen

Lektion 2 von 6

HTTP-Anfrage und HTTP-Antwort

Lerne Aufbau und Zusammenspiel von HTTP-Requests und HTTP-Responses kennen.

Lernziele

Nach Abschluss dieser Lektion kannst du:

  • eine HTTP-Anfrage erklären
  • eine HTTP-Antwort erklären
  • Konzepte der Request-Zeile identifizieren
  • Konzepte der Response-Statuszeile identifizieren
  • Header und Body unterscheiden
  • erklären, warum nicht jede Anfrage oder Antwort einen Body hat
  • eine einfache GET-Transaktion beschreiben
  • HTTP als grundsätzlich zustandslos verstehen
  • HTTP-Ergebnis und darunterliegende Konnektivität unterscheiden

Die HTTP-Anfrage

Ein Request teilt dem Server mit, welche Verarbeitung der Client für welches Ziel wünscht. Dieses vereinfachte HTTP/1.1-Beispiel zeigt eine typische GET-Anfrage:

GET /index.html HTTP/1.1
Host: web01.firma.test
User-Agent: Beispielclient
Accept: text/html
GET
Methode
/index.html
Request-Target / Pfad
HTTP/1.1
Protokollversion
Host und weitere Zeilen
Header

Ein Request kann einen Body tragen. POST, PUT oder PATCH übertragen je nach Anwendung häufig Daten. GET wird beim typischen Browsen normalerweise ohne Request-Body verwendet; eine universelle Aussage „GET kann niemals einen Body haben“ wäre unnötig absolut.

Die HTTP-Antwort

Der Server antwortet mit Status, Metadaten und – falls passend – Inhalt:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: ...

<html>...</html>

Dies ist ebenfalls ein vereinfachtes HTTP/1.1-Beispiel: Version, Statuscode und bei HTTP/1.x eine Reason Phrase stehen vor den Headern; der optionale Body folgt nach einer Leerzeile. HTTP/2 und HTTP/3 verwenden auf der Leitung nicht exakt diese textuelle Darstellung.

Ein Request-Response-Zyklus
Clientsendet Request
↓ GET /index.html ↓
Serversendet Response

Request

  • Methode
  • Ziel
  • Header
  • optionaler Body

Response

  • Status
  • Header
  • optionaler Body

Host, Content-Type und Content-Length

Mehrere Namen wie www.firma.test und portal.firma.test können beide auf 192.168.10.20 zeigen. Der Host-Header lässt einen HTTP/1.1-Webserver oder Reverse Proxy erkennen, welcher Host angefragt wurde.

Content-Type beschreibt den Medientyp eines Bodys, etwa text/html, application/json oder image/png. Er ist HTTP-Metadatum und nicht bloß eine Dateiendung. Content-Length kann die Bodygröße in Bytes nennen, ist aber nicht in jeder Antwort vorhanden; andere Übertragungsrahmungen existieren.

Eine Seite, viele Requests

Eine sichtbare Webseite kann separate Requests für HTML, CSS, JavaScript, Bilder, Fonts und API-Aufrufe auslösen. Eine Webseite ist daher nicht automatisch genau eine HTTP-Anfrage.

HTTP merkt sich nicht automatisch Benutzer

HTTP ist auf Protokollebene grundsätzlich zustandslos: Jeder Request soll unabhängig verständlich sein. Anwendungen können Zustand mit Cookies, serverseitigen Sessions oder Tokens ergänzen; HTTP selbst erinnert sich nicht inhärent zwischen Requests an einen Benutzer.

Übung

HTTP-Bestandteile zuordnen

Ordne jedem Beispiel die passende Bedeutung zu.

Eine vollständige Transaktion lesen

Request
GET / HTTP/1.1
Host: web01.firma.test

Response
HTTP/1.1 200 OK
Content-Type: text/html

<html>...</html>
  • Der Client sendet den Request; der Server sendet die Response.
  • Methode: GET; angefragter Host: web01.firma.test.
  • Statuscode: 200; Content-Type: text/html.

Typische Fehlvorstellungen

Falsch: „Eine Webseite wird mit genau einer HTTP-Anfrage geladen.
Korrektur: Weitere Ressourcen führen häufig zu weiteren Requests.
Falsch: „HTTP-Header sind Teil des HTML-Codes.
Korrektur: Header sind HTTP-Metadaten; HTML kann im Body stehen.
Falsch: „200 OK bedeutet, dass DNS und Netzwerk generell überall funktionieren.
Korrektur: 200 bestätigt die erfolgreiche HTTP-Verarbeitung dieser Transaktion, nicht jede Infrastrukturkomponente global.
Falsch: „Content-Type ist einfach die Dateiendung.
Korrektur: Content-Type ist vom Absender kommuniziertes HTTP-Metadatum.
Falsch: „HTTP merkt sich automatisch Benutzer zwischen Requests.
Korrektur: Anwendungsmechanismen wie Cookies, Sessions oder Tokens ergänzen Zustand.
Falsch: „Jede HTTP-Antwort enthält HTML.
Korrektur: Ein Body kann JSON, ein Bild, eine Datei oder andere Daten enthalten – oder fehlen.

Praxis mit Entwicklungswerkzeugen

Öffne konzeptionell den Netzwerkbereich der Browser-Entwicklungswerkzeuge und suche Request-URL, Methode, Status und Content-Type. Optional zeigt curl -i http://server.firma.test/ bei üblichem curl-Gebrauch Response-Header zusammen mit dem Body. Eine Installation ist nicht erforderlich.

Dein Lernstand

Lektion in Bearbeitung

Das Öffnen startet die Lektion. Als erledigt zählt sie erst nach deiner ausdrücklichen Bestätigung.