2.2.1 HTTP-Request und HTTP-Response

Was passiert beim Abschicken einer Anfrage vom Browser an den Webserver?

  • Aufbau der TCP/IP-Verbindungen
  • Übertragen der HTTP-Anforderung (Client-Request) vom Client an den Server
  • Übertragen der Antworten (Server-Response) vom Server an den Client
  • Schließen der TCP/IP-Verbindungen

Prinzipieller Aufbau von HTTP.

Beispiel für Client-Request und Server-Response

Schauen wir uns nun einen Client-Request am Beispiel der Seite thomaschewski.de an. Hierzu nehmen wir aus den gesamten 14 Anfragen die erste Anfrage und analysieren die Zeilen des HTTP-Headers.

Übersicht über alle Anfragen zum Aufruf www.thomaschewski.de

Durch einen Klick auf die erste Zeile öffnet sich ein Fenster, in dem die "Antwort-Kopfzeilen" und die "Anfrage-Kopfzeilen" sichtbar werden.

Gesamtübersicht (Client-Request und Server-Response)

Client-Request

Für den Client-Request interessieren uns die "Anfragekopfzeilen". Schalten Sie zunächst den Button rechts auf "Unformatiert", denn nur dann erkennt man die sehr wichtige 1. Zeile des Client-Request, genannt Request Line GET / HTTP/1.1.

Anfragekopfzeilen (= Client-Request)

  • Host: Hier wird die Domain der Anfrage angegeben
  • User-Agent: Das Betriebssystem und der Browser werden übermittelt
  • Accept, Accept-Language, Accept-Encoding: teilt dem Server mit, was der Browser unterstützt
  • ... Sie können im Web-Entwickler-Tool auf "Weitere Informationen" klicken und kommen direkt zu einer Mozilla-Seite mit den entsprechenden Erklärungen

Server-Response

Für den Server-Response interessieren uns die "Antwortkopfzeilen". Schalten Sie zunächst wieder den Button rechts auf "Unformatiert", denn nur dann erkennt man die sehr wichtige 1. Zeile des Server-Response, genannt Status Line HTTP/1.1 200 OK.

Antwortkopfzeilen (= Server-Response)

HTTP-Parameter

Es gibt insgesamt sehr viele HTTP-Parameter. Wichtig ist zu wissen, dass es HTTP-Parameter gibt, die nur im Client-Request oder im Server-Response vorkommen. Aber es gibt auch HTTP-Parameter, die sich auf den Content beziehen und daher sowohl im Client-Request, als auch im Server-Response vorkommen, beispielsweise Content-Length.

Im nächsten Abschnitt kümmern wir uns ausführlich um den Client-Request.