|
|
Kommunikation per HTTPWie das Zusammenspiel zwischen Browser und Server abläuft, ist in RFC 1945 festgelegt. Ein Webserver tauscht mit dem Browser an sich nur Texte aus. Durch die Möglichkeiten des Browsers bezüglich Hypertext, also des Verlinkens von Informationen und der Einbeziehung von Grafiken und anderer Multimedia wird allerdings eine große Vielfalt an Inhalten dargestellt. Obwohl mehr Kommandos definiert sind, werden normalerweise hauptsächlich die Befehle GET, POST und HEAD eingesetzt.Bowen, Rich/Coar, Ken: Apache und CGI. Markt und Technik, München, 2000. S. 42. Beim HTTP ist Groß- und Kleinschreibung relevant. GET holt die als Parameter angegebene Datei vom Server und ist damit der Befehl, den ein Browser in fast allen Situationen verwendet. HEAD liest nur den Kopf einer Seite. Dies wird vor allem von Suchmaschinenrobotern verwendet. Der Befehl POST wird für die Übertragung von Daten vom Browser an den Server benötigt, typischerweise in Formularen.
Im folgenden Beispiel wird das Abholen einer Webseite mit Hilfe des Befehls
gaston> telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /index.htm HTTP/1.0
HTTP/1.1 200 OK Date: Mon, 01 Apr 2002 11:03:01 GMT Server: Apache/1.3.20 (Linux/SuSE) PHP/4.0.6 Last-Modified: Mon, 01 Apr 2002 11:02:40 GMT ETag: "4b286-7a-3ca83e50" Accept-Ranges: bytes Content-Length: 122 Connection: close Content-Type: text/html
<HTML> <BODY> <H1>Große Überschrift</H1>
Schauen Sie sich diesen <A HREF="hinweis.html">Hinweis</A> an.
</BODY> </HTML> Connection closed by foreign host. gaston> Der Server antwortet mit seiner HTTP-Version, der Bestätigung für die Anfrage, diverser Informationen wie Datenumfang und Dateityp. Dann folgt, durch eine Leerzeile getrennt, der Inhalt der Datei. Sie sehen, dass die Verbindung nach dem Übertragen der Seite getrennt wird. Der Apache ist also ein statusloser Server. Das bedeutet, dass er im Gegensatz zum Newsserver oder Mailserver die Verbindung nach jeder Anfrage abbaut. Das ist zwar etwas einfacher zu implementieren und bringt auch bessere Stabilität und Performance. Der Hauptgrund dafür, dass die Webverbindung statuslos ist, liegt einfach darin, dass diese Sitzungen kein klar definierbares Ende haben. Der Server würde also Verbindungen aufrecht erhalten, deren Client sich längst auf anderen Webseiten bewegt oder einfach seine Sitzung beendet hat. Die Tatsache, dass der Server statuslos ist, hat aber den Nachteil, dass jede Seitenanforderung für den Server neu ist. In Zeiten der Kommerzialisierung ist es beispielsweise nicht egal, welche Seiten in welcher Reihenfolge aufgerufen werden. Man möchte bei der Programmierung eines Shoppingsystems natürlich gern, dass die Maske mit der Kundenadresse auch dem passenden Warenkorb zugeordnet wird. Das wäre bei Protokollen wie NNTP oder POP3 nicht schwierig, da sich der Client dort an- und abmeldet. Man könnte sich helfen, indem man sich die TCP/IP-Adresse und den Port des Absenders speichert. Leider bleiben diese Werte aber nicht immer erhalten. Der Benutzer könnte eine Wählleitung verwenden, die bei einer gewissen Zeit ohne Datenfluss aus Kostengründen die Verbindung kappt. Sobald dieser Anwender längere Zeit eine Artikelbeschreibung liest, wird die Verbindung abgeschaltet. Wird eine weitere Seite angefordert, baut sich die Verbindung wieder auf und der Anwender bekommt von seinem Provider eine neue IP-Nummer zugewiesen. Damit wäre der Anschluss an die bisherige Sitzung verloren und der bisherige Warenkorb wäre wieder leer. Eine solche Wiedererkennung wird darum oft über den Umweg mit so genannten Cookies erreicht. Cookies sind kleine Dateien, die der Webserver auf dem Arbeitsplatz des Clients speichern und auslesen darf. Damit kann er seinen Kunden eindeutig identifizieren. Da aber einige Server die Cookies verwenden, um das Surfverhalten ihrer Besucher auszuspionieren, haben Cookies einen schlechten Ruf und werden von vielen Besuchern nicht mehr akzeptiert. So identifizieren viele Shoppingprogramme ihre Besucher durch deren Browseraustattung, Grafikauflösung und anderer Informationen.
ServerantwortenDer Server antwortet auf Anfragen mit einer dreistellige Zahl, die über den Erfolg der Anfrage Auskunft gibt. In Tabelle sind die in RFC 1945 definierten Zahlenkombination in einer Übersicht dargestellt.
[Antworten des HTTP-Servers]L|L|L
Basis & Zahlencode & Bedeutung
Wie oben schon
erläutert, können Sie beim Auftreten der Fehlermeldungen auf eine
eigene Seite verweisen, die nähere Informationen zu dem Problem gibt.
Dazu verwenden Sie die Direktive
ErrorDocument 404 /err404.html Am wichtigsten dürfte diese Möglichkeit für die Fehlermeldung 404 sein. Beim Umgestalten von Websites werden oft Seiten entfernt, die durchaus noch in den Suchmaschinen vorhanden sind. Mit einer eigenen Fehlerdatei können Sie einen Link auf die Seiten setzen, die vergleichbare Informationen haben. Durch die Möglichkeit, eine .htaccess-Datei in jedes Verzeichnis zu legen, kann der Benutzer recht dicht an die Seiten geführt werden, die er nicht gefunden hat.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|