HTTP-Anfrage und ‑Antwort

Webbrowser interagieren mit Websites gemäß dem HTTP-Protokoll. Dies ist eine standardisierte Reihe 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 mit einer HTTP-Antwort.
  • Anfragen und Antworten können zusätzliche Informationen enthalten, die als HTTP-Header bezeichnet werden.

Betrachten wir beispielsweise die Website cats.example..

Die fiktive Website „cats.beispiel.de“.

Anfrage

Wenn Sie auf die Seite cats.example zugreifen, wird eine Kette von Anfragen an verschiedene Domains gestartet. Dazu gehören Anfragen für ein Bild, das auf cats.example selbst gehostet wird, 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 dem Webserver zusätzliche Informationen vom Browser zur Verfügung zu stellen. Häufig werden beispielsweise Header wie die folgenden verwendet:

  • 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 Abschnitt 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 erhält, 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, Text zu speichern: einen Namen und einen Wert. Dies wird als HTTP-Cookie bezeichnet. In der 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 „Katze“ und dem Wert „getigert“ zu speichern.

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


Header Aktion Beispiel Effekt
HTTP-Antwort
Server an Browser
Set‑Cookie Der Webserver bittet Ihren Browser, ein Cookie zu speichern. Set‑Cookie:cat=tabby Der Cookie wird von Ihrem Browser gespeichert und in nachfolgenden Anfragen an den Server gesendet, auf dem er festgelegt wurde.
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