Einstieg ins HTTP Protokoll
Posted in Allgemeines, Grundlagen, HTTP Protokoll, Webdesign on 12/30/2011 10:01 by Hoegerl_KarlKenntnisse des HTTP Protokolls werden von Systemadministratoren und Internet Entwicklern benötigt. Webdesigner können mit diesen Kenntnissen Interaktionen optimieren. Daher werde mit diesem Post eine Artikelserie zum HTTP Protokoll beginnen.
Auf dem HTTP Protokoll basiert das World Wide Web. Es ist das Protokoll für das Handling und den Transport von Webdokumenten und Grafiken verwendet wird.
- Mit Kenntnisse über das HTTP Protokoll können Sie die Kommunikation zwischen den Clients und den Webservern verstehen.
- Zudem lassen sich Protokolle optimieren und dadurch Webdienste verbessern.
Die Entwicklung des HTTP Protokolls
Das HTTP Protokoll zusammen mit HTML und dem URL Konzept von Tim Berners-Lee und Roy Fielding entwickelt. Die Entwicklung startete 1989 am CERN Institut. Im Jahr 1991 wurde die Version 0.9 des HTTP Protokolls fertiggestellt. Der RFC 1945 enthielt die Anforderungen des HTTP/1.0 und wurde im Mai 1996 veröffentlicht. Eine Ergänzung gab es 1999 mit dem RFC 2616. Dieser entheilt die Spezifikation für das Protokoll HTTP/1.1.
Funktion der HTTP Transaktionen
Die Kommunikation von Webclient (Browser) und der Webserver werden mit Hilfe des HTTP Protokolls geführt. Hier ein Beispiel zu einer einfachen Transaktion.
1 – Webclient sendet Request an den Webserver
| (Request-Zeile) | GET / HTTP/1.1 |
| Host | www.google.de |
| User-Agent | Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 |
| Accept | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| Accept-Language | de,en;q=0.8,ru;q=0.5,ja;q=0.3 |
| Accept-Encoding | gzip, deflate |
| Accept-Charset | ISO-8859-1,utf-8;q=0.7,*;q=0.7 |
| Connection | keep-alive |
| Cache-Control | max-age=0 |
Zeilennummer. Beschreibung
- Die Request-Zeile fordert vom Webserver ein Dokument aus dem Root Pfad “/” an und verwendet die Version 1.1 des HTTP Protokolls.
- Hier wird dem Webserver mitgeteilt, wie der Hostname des Clients lautet. Bei HTTP1.1 ist dies eine Mußangabe. Der Webserver kann dadurch den Dokumenten-Pfad zu bestimmen.
- Der Webclient (Browser) gibt seine Versionsbezeichnung bekannt. In unserem Fall ist dies Mozilla Firefox V 9.01 auf Windows XP.
- In dieser Zeile wird mitgeteilt, welche Dokument Typen akzeptiert werden.
- Es werden die akzeptierten Sprachen bekanntgegeben. Dies können, wie in unserem Fall, auch mehrere Sprachen (de=Deutsch; en=Englisch; ru=Russisch; ja=Japanisch) sein.
- In dieser Zeile wird bekanntgegeben, dass der Webclient mit gzip und deflate umgehen kann.
- Mit Accept-Charset wird dem Server die vom Webclient akzeptierten Zeichensätze bekanntgegeben.
- Hier wird dem Webserver mitgeteilt, dass die Verbindung offen zu halten ist. Bei HTTP 1.1 ist dies die Standard Einstellung.
- Es wird mitgeteilt, nach wie vielen Sekunden seit dem Abruf das Dokument als veraltet zu betrachten ist.
2 – Response vom Webserver zum Webclient
| (Status-Zeile) | HTTP/1.1 200 OK |
| Date | Fri, 30 Dec 2011 19:38:01 GMT |
| Expires | -1 |
| Cache-Control | private, max-age=0 |
| Content-Type | text/html; charset=UTF-8 |
| Content-Encoding | gzip |
| Server | gws |
| Content-Length | 17133 |
| X-XSS-Protection | 1; mode=block |
| X-Frame-Options | SAMEORIGIN |
Zeilennummer. Beschreibung
- Die Status-Zeile sagt dem Webclient dass die Version 1.1 des HTTP Protokolls verwendet wird. Dann folgt der Statuscode “200“. Dieser sagt aus, dass das Dokument gefunden wurde und in dem Response enthalten ist.
- Die nächste Zeile zeigt das Server Datum und die aktuelle Uhrzeit an. Die Uhrzeit wird immer als Greenwich Mean Time (GMT) angegeben.
- Das Expires zeigt an, wie lange sich der Inhalt sich nicht ändern wird. In unserem Fall kann sich der Inhalt jederzeit ändern.
- Es wird mitgeteilt, nach wie vielen Sekunden seit dem Abruf das Dokument als veraltet zu betrachten ist.
- Der Content-Type gibt den Typ des gesendeten Dokuments an. In unserem Fall ist dies der Quelltext einer Webseite. Dieser Quelltext wird vom Browser in eine Webseite umgewandelt.
- In dieser Zeile wird bekanntgegeben, dass der Webserver das Dokument mit mit gzip gepackt hat.
- Der Server Typ ist “gws” (Google Webserver).
- Die Textlänge des Dokuments ist 17133 Zeichen.
- Hier wird durch “1” angezeigt, dass der Cross Side Scripting Filter eingeschaltet ist und der Modus auf blockieren eingestellt ist.
- Mit “X-Frame-Options” wird der Clickjacking Schutz gesteuert. Durch die Einstellung “SAMEORIGIN” wird die Webseite angezeigt, wenn keine Überlagerung der originalen Webseite mit einer weiteren Ebene stattfindet.
Weiter geht es mit den Client Methoden beim HTTP Request












