Anwendungen
Einführung
Verzeichnisse
Telnet, FTP...
HTTP
E-Mail
Sicherheit
Management
Unix & Windows

Hauptmenü
Startseite
Einführung
Daten übertragen
Datennetze
Transport
Info

Themen
Einführung
HTTP-Request
HTTP-Reply
Proxy-Server
HTTP

Das HTTP (Hyper Text Transfer Protocol) bildet die technische Grundlage des World Wide Web. Serverseitig wird das Protokoll von einem WWW-Server abgearbeitet. Dieser hat - meist in einem gewöhnlichen Verzeichnis - Dateien gespeichert, die er per HTTP zum Download anbietet. Es ist auch möglich, einzelne Verzeichnisse als Programmverzeichnisse auszuweisen (cgi-bin). Wird eine Datei aus einem solchen Verzeichnis abgerufen, erhält der Client nicht die Datei. Anstelle dessen wird die Datei als Programm gestartet und der Client erhält die Ausgabe, die das Programm produziert. So können interaktive Anwendungen entstehen, indem beispielsweise Eingaben in ein Formular ausgewertet werden und die Antwortseite dann direkt auf die Angaben Bezug nimmt.

Der WWW-Client wird normalerweise "Browser" genannt. Ursprünglich war hier Netscape mit dem Navigator / Communicator marktführend. Mittlerweile ist jedoch Microsofts Internet Explorer in dieser Rolle. Nach wie vor gibt es auch Alternativen zu diesen beiden: Die Open-Source-Variante "Mozilla" von Netscape, den kommerziellen Browser "Opera" oder auch "Konqueror" (unter Linux mit KDE-Oberfläche). Allen Browsern gemein ist ein Texteingabefeld am oberen Fensterrand, in das man eine "URL" (Uniform Ressource Locator) eintragen kann. Diese hat das Format:

<protokoll>://<hostname mit domain>/<pfad>/<dateiname>

Für den Abruf einer Webseite trägt man als Protokoll "http" ein. Der Browser wertet dann den Hostnamen aus und ermittelt daraus per DNS die IP-Adresse des Servers. Den Rest der URL übergibt er dem HTTP-Protokoll.

Es gibt zwei Versionen des HTTP - 1.0 und 1.1, wobei 1.0 zunehmend verschwindet. Sie unterscheiden sich im wesentlichen darin, dass HTTP 1.0 für jede einzelne Datei, die es abruft, eine eigene TCP-Verbindung aufbaut und nach dem Download sofort wieder schließt. Für eine einzige Webseite mit fünf Bildern werden (je nach Client nacheinander oder gleichzeitig) folglich sechs TCP-Verbindungen auf- und wieder abgebaut. Bei HTTP 1.1 wird eine einmal geöffnete Verbindung gehalten - bis der Client entweder einen anderen Server ansteuert oder ein Timeout erreicht wird. Es gibt auch keine parallelen TCP-Verbindungen mehr. Allerdings gibt es das Verfahren des Pipelining, bei dem der Client alle gewünschten Dateien hintereinander angibt und diese werden dann quasi "nahtlos" nacheinander vom Server über die eine TCP-Verbindung geschickt. Ohne Pipelining würde eine Datei übertragen und erst nachdem sie vollständig empfangen wurde, könnte die nächste angefordert werden.

Bei HTTP wiederholen sich immer zwei Arbeitsschritte: Zuerst sendet der HTTP-Client einen HTTP-Request an den Server. Dieser beantwortet ihn durch einen HTTP-Reply, der typischerweise die angeforderten Daten enthält. Die Header sowohl vom Request als auch vom Reply sind in Textform gehalten und damit problemlos lesbar. Das ermöglicht die manuelle Bedienung des HTTP über einen Telnet-Client zu Test- oder Diagnosezwecken.