Wie man aus HTTP-Headern das meiste herausholt

Das HTTP-Protokoll basiert auf Anforderungen (Requests) und darauf erfolgende Reaktionen (Responses). Ich habe mich entschlossen, den Dialog zwischen Server und Client mit Hilfe der populären Suchmaschine Google zu untersuchen und habe diese Seite besucht, während mein Packet-Monitor aktiviert war. Zuerst wurden folgende Informationen in Form von Datenpaketen an die Server von Google gesandt:

Dieser Request wurde in Form einer GET-Methode abgesandt, gefolgt von einigen Metadaten zur Definition von Browser-MIME, User Agent, Sprache und Kodierfähigkeiten. Der erste Header fordert eine Kommunikation mit den Google Servern über das HTTP-Protokoll Version 1.1 an. Der Header „Accept: */*“ teilt den Webservern von Google mit, dass mein Browser alle MIME-Typen empfangen kann. MIME steht für „Multipurpose Internet Mail Extension“, dient zur Identifizierung von Dateitypen (Bilder, Dokumente und Anwendungen) und hilft dem Browser und dem Betriebssystem bei der korrekten Handhabung dieser Dateien. Der Request „Accept-Language“ gibt an, dass mein Browser auf „American English“ eingestellt ist.

Der Header „Accept-Encoding“ teilt Googles Servern mit, dass die eingehende Datei mit GNU-ZIP (gzip), einer UNIX-basierten Komprimierungsmethode, kodiert werden kann. Zuletzt identifiziert der User Agent einen Mozilla-kompatiblen Browser (in speziellen Fall Internet Explorer). Hier ist der Header, der als Antwort von Google kam:

Der erste Header bestätigt das HTTP-Protokoll und die Version. Der Server sendet außerdem den Response-Code 200 um meinem Browser mitzuteilen, dass der Request erhalten wurde und alles in Ordnung ist. Es gibt viele mögliche Kombinationen von Server-Codes für eine Vielzahl von Fällen, darunter der leider nur allzu gut bekannte Code „404 – Page Not Found“. In den HTTP-Spezifikationen werden alle möglichen Kombinationen von Server-Codes erläutert.

Der Date-Header gibt uns das Systemdatum auf Googles Server bekannt. Der Cache-Control-Header gibt an, dass die Antwort für den Browser-Cache bestimmt ist und nicht für ein Shared Cache. Das ist sehr sinnvoll, denn Google will nicht, dass Gateway Server und Proxies in ihren Caches Kopien von Google Suchläufen für jeden Suchbegriff unter der Sonne speichern. Der Header „Content-Type“ bereitet meinen Browser auf den Empfang einer HTML-Seite vor, indem er den MIME-Typ der eingehenden Daten als „text/htm“ angibt. Dann wird der HTML-Code in den Browser geladen.

Die Startseite enthält eine GIF-Grafik mit dem Google Logo. Da das GIF-Bild ein anderer MIME-Typ (image/gif) als die HTML-Seite ist, muss Browser mehrere getrennte Requests senden um das Bild zu erhalten. Hier sind die Informationen, die zum Server von Google gesendet werden um das Bild zu erhalten:

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

3 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

3 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

3 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

3 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

3 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

4 Tagen ago