HTTP

HTTP (Hypertext Transfer Protocol) ist das Protokoll, mit dem Browser und Server Webseiten, Dateien und Daten austauschen.

Kurz erklärt

HTTP definiert, wie ein Client (meist ein Browser) eine Anfrage an einen Server stellt und wie der Server darauf antwortet. Eine Anfrage besteht aus einer Methode (z. B. GET oder POST), einem Pfad, Headern und optional einem Body. Die Antwort enthält einen Statuscode, Header und meist den angeforderten Inhalt.

HTTP ist zustandslos: Jede Anfrage wird unabhängig von vorherigen behandelt. Zustände wie Login-Sitzungen werden über Mechanismen wie Cookies nachgebildet.

Beispiel

Ein Browser sendet GET /lexikon/dns/ HTTP/1.1 an einen Server. Der Server antwortet mit HTTP/1.1 200 OK, passenden Headern wie Content-Type: text/html und dem HTML-Dokument im Body.

Warum ist das relevant?

Nahezu jede Interaktion im Web basiert auf HTTP-Anfragen. HTTP-Statuscodes und -Header sind zentrale Signale für Suchmaschinen, Browser und Entwickler-Tools - etwa um Weiterleitungen, Caching oder Fehler zu erkennen.

Technischer Hintergrund

Die aktuellen Versionen HTTP/2 und HTTP/3 verbessern Performance durch Multiplexing mehrerer Anfragen über eine Verbindung sowie, im Fall von HTTP/3, den Wechsel von TCP zu QUIC (basierend auf UDP), um Verbindungsaufbau und Paketverluste effizienter zu handhaben.

Häufige Missverständnisse

HTTP und HTML werden oft verwechselt: HTTP ist das Übertragungsprotokoll, HTML das Dokumentenformat, das damit übertragen wird. Auch “HTTP ist unsicher, HTTPS ist sicher” ist eine Vereinfachung - HTTPS verschlüsselt die Übertragung, schützt aber nicht automatisch vor allen Angriffen auf Anwendungsebene.

Weiterführende Inhalte

Aus der Praxis

Ein häufiger Debugging-Fehler ist, bei unerwartetem Browser-Verhalten zuerst den Seiteninhalt zu prüfen statt die tatsächlich gesendeten Response-Header - falsche Content-Type- oder Cache-Control-Header verursachen überproportional oft Probleme, die auf den ersten Blick wie ein Frontend-Bug aussehen.

Quellen & Dokumentation