| |
B Das HTTP-Protokoll
Die Kommunikation mit dem Apache Webserver geschieht hauptsächlich über
das Hyper Text Transfer Protocol HTTP. Auf die Feinheiten von HTTP soll im
Rahmen dieser Arbeit nicht eingegangen werden. Einen guten
Überblick bietet
[7]. Die beiden zur Zeit aktuellen Versionen HTTP 1.0 und HTTP 1.1 unter-
scheiden sich leicht und werden beide vom Apache Webserver unterstützt. Die
genaue und o zielle Spezifikation findet sich in RFC 194511 bzw. RFC 206812.
Das Hypertext Transfer Protocol ist ein Protokoll der Anwendungsebene
(Schicht 7 des OSI-Referenzmodells) und baut auf dem Transmission Control
Protocol (TCP) auf. Es dient der Kommunikation zwischen Rechnern zu
Übert-
ragung von Daten. Da es die Grundlage für den vom Apache Webserver angebo-
tenen Dienst bildet, soll hier kurz die generelle Funktionsweise erläutert werden.
Ein Client Rechner, der von einem Server eine Datei verlangt, stellt i.d.R ei-
ne HTTP Anfrage, in der die Datei (auch Verzeichnisse) angegeben ist. Jede
HTTP-Anfrage ist wie folgt aufgebaut:
<METHOD-TOKEN> <REQUEST-URI> <HTTP-VERSION>
<GENERAL HEADER>
<REQUEST HEADER>
<ENTITY HEADER>
<ENTITY BODY>
Die Bestandteile sind wie folgt:
<METHOD-TOKEN> Gibt die Methode zur Behandlung des Objektes an. Beispiele
sind:
GET: Anforderung der
Übertragung des angegebenen Objektes
HEAD:
Ähnlich zu GET, fordert jedoch nur den Header des Objektes an
PUT: Methode um ein Objekt zum Server zu schicken. Es wird ein Objekt
mit angegebenem Namen dort erzeugt.
POST: Wie PUT, jedoch wird kein Objekt erzeugt, sondern die Daten wer-
den an das angegebene Objekt (z.B. ein Skript) übergeben.
DELETE: Bewirkt das Löschen des angegebenen Objektes auf dem Server.
<REQUEST-URI> Der URI des jeweiligen Objekts.
Beispiel: /docs-2.0/developer/API.html
<HTTP-VERSION> Die HTTP-Version: HTTP/1.0 oder HTTP/1.1
<GENERAL HEADER> Hierunter fallen generelle Header wie Connection, Via
oder Cache-Control.
Beispiel: Connection: Keep-Alive
<REQUEST HEADER> Hierunter fallen anfragespezifische Header wie Accept,
Host, Referer oder User-Agent.
Beispiel: Host: httpd.apache.org
11RFC 1945 für HTTP/1.0 - http://www.ietf.org/rfc/rfc1945.txt
12RFC 2068 für HTTP/1.1 - http://www.ietf.org/rfc/rfc2068.txt
21
|  |
|
| |
|
|