next up previous contents
Next: ISDN Up: Kommunikationsprotokolle Previous: Sockets

   
HTTP

Das HTTP2.23 liegt in der Anwendungsschicht des OSI-Referenzmodells. HTTP ist das gemeinsame Protokoll von Clients und Servern im Internet, über das Dokumente ausgetauscht werden. Dabei kann HTTP beliebige Datenformate transportieren.
Für die Übertragung eines Dokumentes über das HTTP-Protokoll wird mit Hilfe von Sockets eine TCP-Verbindung zwischen Client und Server aufgebaut. Dabei wird standardmäßig der Port 80 verwendet.
Der Client sendet eine Anfrage (engl. request), die folgendermaßen aufgebaut ist:
<Methode> <Request-URL> <HTTP-Version>
<Kopfzeile (Header)>    
     
<Objektdaten (Entity)>    

Der Server sendet daraufhin eine Antwort (engl. response). Sie enthält das angeforderte Dokument oder eine Fehlermeldung. Die Antwort hat folgende Struktur:
<HTTP-Version> <Statuskode> <Text>
<Kopfzeile (Header)>    
     
<Objektdaten (Entity)>    

Nach erfolgter Anfrage und Antwort wird die Verbindung abgebaut. Das Senden eines HTTP-Dokuments soll für den Server eine minimale Belastung in Form von Speicherbelegung und Rechenzeit darstellen. Daher wird die Verbindung in den meisten Fällen nach jedem Dokument wieder abgebaut, damit der Server in seinen Grundzustand zurückkehren kann.

 
 
Tabelle 2.3: Anfragemethoden des HTTP
<Methode> Beschreibung
GET Anfrage zum Lesen eines Dokuments
HEAD Anfrage zum Lesen der Informationen über das Dokument
PUT Anfrage zum Speichern eines Dokuments
POST Anfrage zum Speichern und Zuordnen eines Dokuments
DELETE Entfernen eines Dokuments
LINK Verbinden zweier Ressourcen
UNLINK Löst die Verbindung zwischen zwei Ressourcen

Im Folgenden sollen die Elemente der Client-Anfrage und der Server-Antwort vorgestellt werden.
In Tabelle 2.3 sind die standardisierten <Methoden> in HTTP Version 1.0 einer Client-Anfrage aufgelistet. Die häufigste Methode ist GET, mit der ein Client ein Dokument vom Server abruft.
Mit Hilfe der <Request-URL> wird dem Server mitgeteilt, welches Dokument mit der Methode behandelt werden soll. Im Gegensatz zu einem Request-URL besteht eine typische URL2.24 normalerweise aus 3 Teilen: Als Beispiel-URL dient die Web-Page des Fraunhofer Instituts:
http://www.fhg.de/german/index.html
Das Übertragungsprotokoll dieser Beispiel-URL ist HTTP.
Der DNS-Name www.fhg.de entspricht der IP-Adresse 153.96.68.2.
Der Dokumentname lautet /german/index.html.
Da dem HTTP-Server das Protokoll und seine eigene IP-Adresse bekannt sind, besteht eine Request-URL nur aus dem Dokumentnamen. Die Request-URL des Beispiels laut damit: /german/index.html.
Zur Zeit wird normalerweise die Version 1.0 des HTTP-Protokolls verwendet. Deshalb trägt das Element <HTTP-Version> die Kennung HTTP/1.0.
Mit Hilfe von <Kopfzeilen (Header)> werden nähere Angaben zur Anfrage (Antwort) des Clients (Servers) gemacht. Es werden vier verschiedene Headertypen unterschieden:
 
 
Tabelle 2.4: Statusklassen in der HTTP-Antwort
Statuskode Beschreibung
1xx Information
2xx Aktion ausgeführt
3xx Weitere Maßnahme erforderlich
4xx Client-Fehler
5xx Server-Fehler


Quelle: frei nach [11], Seite 189

Der <Statuskode> ist eine dreistellige Zahl, die den Client über Erfolg oder Misserfolg seiner Anfrage informiert. Der Server sendet zusätzlich zum Kode einen erläuternden <Text>, den der Client dem Benutzer anzeigen kann. Eine Liste mit Statuskodes ist z. B. in ([11], Seite 189) zu finden. Allgemein werden verschiedene Statusklassen unterschieden (siehe Tabelle 2.4). Die erste Ziffer des Statuskodes bestimmt die Klasse.
next up previous contents
Next: ISDN Up: Kommunikationsprotokolle Previous: Sockets
Thorsten Thormaehlen
2000-03-27