Beschreiben Sie den Vorgang bzw. Ablauf der im Beispiel gezeigten HTTP-Anfrage und -Antwort.
HTTP Request Header
Connect to 141.87.109.7 on port 80 ... ok
GET /cms/homepage.aspx HTTP/1.1[CRLF]
Host: www.mustermann.de[CRLF]
Connection: close[CRLF]
User-Agent: Opera/9.20 (Windows NT 6.0; U; en)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://musterfrau.net/[CRLF]
[CRLF]
Detailinformationen unter: http://www.w3.org/Protocols/rfc2616/rfc2616.html
Es handelt sich um einen HTTP GET Request. HTTP steht für Hypertext Transfer Protocol. Eine GET Anfrage beinhaltet die Intention einer Abfrage einer spezifischen HTML Seite oder einem anderen Objekt, welches durch HTTP übertragen werden soll, wie bsp. einem Bild. Die Verbindung wird laut Ausdruck zu einem System mit der IP Adresse 141.87.109.7 aufgebaut. Es handelt sich beispielsweise um das System mit der Domain: www.mustermann.de.
Der Eintrag Host gibt an, welches System angesprochen werden soll. Der DNS Server wird diesen Hostnamen zu einer IP Adresse auflösen (141.87.109.7). Der GET Parameter soll dem Zielsystem mitteilen, welche Webseite aufgerufen werden soll. Hierbei handelt es sich um eine “aspx” Seite. Das bedeutet hier wird eine Advanced Server Page mit entsprechender Extension verwendet. ASP ist ein Produkt von Microsoft. aspx Seiten werden durch eine auf .NET basierende Serverlösung erzeugt. Damit handelt es sich um einen Internet Information Server.
Connection: close bedeutet, dass der Server, die Verbindung zum Client, also zu dem Browser (logische Verknüpfung) nach seiner letzten Anfrage wieder schließt. Dabei handelt es sich sozusagen um ein statuslose Abfrage, der Server merkt sich nicht den Benutzer.
User-Agent: zeigt den zu verwendeten Browser. Hierbei handelt es sich um einen Opera 9.20, dieser wird unter Windows NT 6, also unter Windows 2000 verwendet. Zusätzlich handelt es sich um die englische Version des Browsers.
Akzeptiert wird gziped Text. Das bedeutet, dass der Browser in der Lage ist, komprimierte Inhalte darzustellen. Server leitet ggf. um Traffic zu sparen, gziped Inhalte aus. Das Endsystem muss allerdings diese Funktion unterstützen. Kann das System eine gziped Anfragen nicht ausführen, so wird 406 (Not Acceptable) zurück gesendet.
Das System unterstützt verschiedene Zeichensätze. Hierbei handelt es sich um ISO-8859-1 und UTF-8. Das q Parameter bedeutet soetwas wie Quality. Das sagt soetwas aus, ja ich habe ISO-8859-1 und UTF-8 besonders gern, ich nehme aber auch was anderes.
Cache-Control ist eine Einflussnahme des Servers auf den Browser des Endsystems. Hiermit im Beispiel sagt er aus, das keine Informationen gecached werden sollen.
Bei der Sprache ist es ähnlich wie beim Zeichensatz. Der Browser hat diesmal British-Englisch und Deutsch besonders gerne (zu 70%), nimmt aber auch einigermaßen gern amerikanisches Englisch (30%).
Damit handelt es sich wohlmöglich um einen englischen Opera Browser, der auf einem deutschen Windows 2000 installiert ist.
Der Referer hilft dem System zu erkennen, woher der letzte Request gekommen ist. Bei der Beispieldomain musterfrau.net handelt es sich um eine Seite von IP 188.93.10.56. Diese Seite kann HTTP Requests darstellen und hilft beim Erkennen des Webservers.
HTTP Response Header Name Value
Status: HTTP/1.1 200 OK Connection: close
Expires: Wed, 01 Dec 2010 11:15:19 GMT Date: Thu, 16 Dec 2010 11:15:19 GMT
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.0
Cache-Control: private, max-age=0
Last-Modified: Thu, 16 Dec 2010 11:15:19 GMT
Der Status der GET Nachricht ist 200. Das bedeutet alles ist in Ordnung und entsprechend wird eine Rückantwort gesendet.
Expires ist eine Art Cache Funktion. Hier wird gesagt, wann die Seite abläuft. Ist die Seite abgelaufen, so wird der Browser die HTML Seite neu anfordern, statt diese aus seinem Cache darzustellen.
Content Type stellt die Art der Übertragung dar. Es gibt verschiedene MIME Types. text/html ist eine davon. Es wird dem Browser mitgeteilt, dass es sich um eine HTML Seite im Textformat handelt. Der Zeichensatz, der übertragen wird, ist utf-8. Der Browser muss wissen, wie er die Antwort zu interpretieren hat, damit keine “falschen” Zeichen dargestellt werden. Das Quellsystem vermeldet, dass es sich um einen IIS 7.0 von Microsoft handelt. Damit kann gesagt werden, dass es sich um ein Windows Vista oder Windows 2008 Server handelt.
Cache-Control dienst auch zur Konfiguration des Caches. Hiermit wird gesagt, dass nichts durch einen gemeinsamen Cache zwischengespeichert werden darf. Die Lebenszeit ist damit auch 0. Der aktuelle Zeitstempel der Übertragung wird zusätzlich angegeben, damit das System weiß, wie lange es cachen soll. Zeitpunkt x plus 0 ist demnach immer vorbei, also wird niemals gecached.