REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Hypertext Transfer Protocol

Hypertext Transfer Protocol

HTTP

Tim Berners-Lee hat nicht nur HTML, sondern auch einen Transportmechanismus für die plattformübergreifenden Dokumente entwickelt: HTTP ist das wichtigste Transportprotokoll für webbasierte Inhalte.

Der Erfolg des World Wide Webs ist zu einem großen Teil auf die Einfachheit von HTTP zurückzuführen. Das Protokoll lässt sich vergleichsweise einfach implementieren. Das zu Grunde liegende Prinzip ist simpel: Die Übermittlung der Daten erfolgt nach dem Request-Response-Schema. Der HTTP-Client sendet seine Anfrage an den HTTP-Server, der diese bearbeitet und eine Antwort zurücksendet.

Ablauf einer HTTP-Verbindung

Die Kommunikation zwischen Client und Webserver erfolgt durch den Austausch von HTTP-Nachrichten. Diese Nachrichten übertragen die Anfragen und Antworten zwischen Client und Server. Client und Server bauen zum Austausch der Nachrichten im Standardfall eine TCP-Verbindung auf Port 80 auf. Die auch Request und Response genannten Nachrichten bestehen im Wesentlichen aus zwei Teilen: Header und Daten. Der Header enthält Steuerinformationen wie zum Beispiel die verwendete Methode und die gewünschte URL.



HTTP-Requests

Eine Request ist durch die Angabe von Methode, URL und den Request-Header-Feldern bestimmt. Ein Server antwortet auf jede Request mit Informationen, ob die gewählte Methode zulässig ist oder nicht.

Eine Methode für sich genommen ist ohne Angabe des Ziels wertlos. Daher gehört zu jeder Methode eine Ziel-URL. Der Client muss dabei eine absolute URL angeben (z.b. http://www.index.de), damit die Request auch über einen Proxyserver laufen kann. Nach dem Zugriff auf eine Quelle reicht die Angabe von relativen URLs (z.b. ../index.html)

Requests-Header weisen folgende Struktur auf:

METHOD URL HTTP/version
> General Header
> Request Headers
> Entity Header (optional)
> Leerzeile
> Request Entity (falls vorhanden)
>

Eine Request, der eine HTML-Seite anfordert, sieht beispielsweise so aus:

GET http://www.bla.de/verzeichnis1/seite2.html HTTP/1.1
> Date Thursday, 14-Oct-99 17:55 GMT
> User-agent: Mozilla/4.6
> Accept: text/html, text/plain
>

Zuerst übermittelt der Client die Methode, durch Leerzeichen getrennt folgen die URL und die HTTP-Version. Die weiteren Felder übermitteln die Uhrzeit, die Browserversion und welche MIME-Typen (Datentypen+Format) der Client akzeptiert. Ein Datenbereich entfällt bei diesem Nachrichtentyp.

HTTP-Response

Der Aufbau einer HTTP-Response ist ähnlich zur Request:

HTTP/version Status-Code Reason-Zeile
> General Header
> Response Header
> Entity Header (optional)
> ______Leerzeile_______
> Resource Entity (falls vorhanden)
>

Eine komplette Response, die eine HTML-Datei vom Server übermittelt, sieht beispielsweise so aus:

HTTP/1.1 200 OK
> Via: HTTP/1.1 proxy_server_name
> Server: Apache/1.3
> Content-type: text/html, text, plain
> Content-length: 78
>
> <html>
> <head>
> <title>HTTP</TITLE>
>
>
> </head>
> <body>
> <p> HTTP/1.1-Demo</p>
> </body>
> </html>
>

Der Server übermittelt zunächst die HTTP-Version der Nachricht. Der zweite Eintrag ist die Statusmeldung. '200 OK' bedeutet in diesem Fall, dass kein Fehler aufgetreten ist. Wichtig für die weitere Bearbeitung durch den Client sind die Einträge Content Type und Content Length. Content Type beschreibt den MIME-Typ der im Datenbereich übermittelten Datei. Im Header-Feld Content Length gibt der Server die Länge der Daten in Byte an.

Response-Codes

Die Antwort des HTTP-Servers beinhaltet die Statuszeile und Response-Header-Felder. Die Statuszeile wiederum führt die Protokollversion, den Status Code und Reasons Phrase auf. Beim Status Code handelt es sich um einen dreistelligen Integer-Wert, der dem Client wichtige Informationen über Verfügbarkeit, erfolgreiche Bearbeitung oder aber auch Fehlermeldungen liefert.


Diese Meldungen sind in fünf Kategorien eingeteilt:

 externer Link  1xx: Informelle Meldungen: Request erhalten, Bearbeitung wird durchgeführt.
 externer Link  2xx: Erfolg: Request wurde erfolgreich erhalten, verstanden und angenommen.
 externer Link  3xx: Weiterleiten: Weitere Aktionen müssen eingeleitet werden, damit eine Request vollständig bearbeitet werden kann.
 externer Link  4xx: Clientfehler: Die Request enthält ungültigen Syntax oder kann nicht bearbeitet werden.
 externer Link  5xx: Serverfehler: Der Server kann eine gültige Request nicht bearbeiten.

HTTP-Methoden

Jede Client Request wird durch die Angabe der Methode eingeleitet. Methoden bestimmen die Aktion der Anforderung. Die aktuelle HTTP-Spezifikation sieht acht Methoden vor: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE und CONNECT.


GET: - dient zur Anforderung eines Dok. oder einer anderen Quelle

POST: - übermittelt in 1. Linie Formulareingaben an Server

OPTIONS: - Client kann über verfügbare Kommunikationsoptionen abrufen

HEAD: - fordert lediglich den Header eines Dok. oder einer Quelle an

PUT: - erlaubt die Modifikation bestehender Quellen bzw. Erzeugung neuer Daten auf dem Server

DELETE: - Daten auf dem HTTP-Server werden gelöscht, die durch die URL identifiziert wurden

TRACE: - der Client kann Requests verfolgen, welche über mehrere Knotenpunkte gehen

CONNECT: - Client veranlasst Proxyserver jedes Protokoll auf den Originalserver weiterzuleiten. Proxy kann als Tunnel umfunktioniert werden.






Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen