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:


Themenseiten: Anwendungsentwicklung, Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Wie man aus HTTP-Headern das meiste herausholt

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *