HTTP-Anfrage und ‑Antwort

Webbrowser interagieren mit Websites über das HTTP-Protokoll. Das ist ein standardisierter Satz von Regeln für die Kommunikation:

  • Wenn Sie eine Webseite aufrufen, sendet Ihr Browser HTTP-Anfragen für die Ressourcen auf der Seite, z. B. HTML, CSS, JavaScript und Bilder.
  • Wenn ein HTTP-Server (ein Webserver, auf dem eine Website gehostet wird) eine gültige HTTP-Anfrage von einem Browser empfängt, antwortet der Server dem Browser mit einer HTTP-Antwort.
  • Anfragen und Antworten können zusätzliche Informationen enthalten, die als HTTP-Header bezeichnet werden.

Nehmen wir an, Sie haben die Website cats.example..

Die fiktive Website „cats.example“.

Anfrage

Wenn Sie auf die Seite cats.example zugreifen, wird eine Kette von Anfragen an verschiedene Domains initiiert. Dazu gehören eine Anfrage für ein auf cats.example gehostetes Bild, eine Anfrage für ein Analyseskript von analytics.example und andere Anfragen für zusätzliche Ressourcen von anderen Domains.

HTTP-Anfragen können mit HTTP-Anfrageheadern ergänzt werden, um zusätzliche Informationen vom Browser an den Webserver zu senden. Häufig sind beispielsweise die folgenden Header enthalten:

  • Accept-Language: en-US
    Dieser Header gibt die bevorzugte Sprache des Nutzers an, in diesem Fall Englisch (USA).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    Dieser Header enthält Details zum Browser und Betriebssystem des Nutzers, in diesem Fall „Mozilla/5.0“ (Browserfamilie), „Macintosh“ (Betriebssystem) und „Chrome/127.0.0.0“ (Browserversion).

Antwort

Wenn ein Webserver eine gültige Anfrage von einem Browser empfängt, sendet er dem Browser eine Antwort mit der angeforderten Ressource (der „Nutzlast“): HTML, CSS, JavaScript, eine Bilddatei, ein Video oder andere Daten. So wie jede Anfrage vom Browser Anfrageheader enthalten kann, kann jede Antwort vom Server Antwortheader enthalten. Diese Antwortheader werden zusammen mit der Nutzlast gesendet.

Ein Set-Cookie-Header in einer Antwort weist Ihren Browser an, einen Text zu speichern: einen Namen und einen Wert. Das wird als HTTP-Cookie bezeichnet. Als Antwort auf die Anfrage für cats.example/images/cat.jpg enthält der cats.example-Server den Header Set-Cookie:cat=tabby. Dadurch wird der Browser angewiesen, ein Cookie mit dem Namen „cat“ und dem Wert „tabby“ zu speichern.

Dieses Cookie wird dann in nachfolgende Anfragen an cats.example, aufgenommen, bis das Cookie abläuft oder entfernt wird. So kann der Server Informationen über den Nutzer über mehrere Webseiten oder Sitzungen hinweg speichern, z. B. dass dem Nutzer ein Bild einer getigerten Katze angezeigt wurde.


Header Aktion Beispiel Wirkung
HTTP-Antwort
Server an Browser
Set‑Cookie Der Webserver fordert Ihren Browser auf, einen Cookie zu speichern. Set‑Cookie:cat=tabby Der Cookie wird von Ihrem Browser gespeichert und in nachfolgenden Anfragen an den Server gesendet, der ihn gesetzt hat.
HTTP-Anfrage
Browser an Server
Cookie Ihr Browser stellt ein Cookie bereit. Cookie:cat=tabby Das Cookie wird dem Server zur Verfügung gestellt, der das Ziel der Anfrage ist.

Demos

Tools

Weitere Informationen