Suchen

Definition Was ist HTTP (Hypertext Transfer Protocol)?

Das zustandslose Hypertext Transfer Protocol (HTTP) kommt in IP-basierten Netzen hauptsächlich für die Übertragung von Webseiten von einem Webserver zum Webbrowser zum Einsatz. Es arbeitet unverschlüsselt und ist nicht auf Webanwendungen beschränkt.

(© aga7ta - Fotolia)

Die Abkürzung HTTP steht für Hypertext Transfer Protocol und bezeichnet ein zustandsloses Protokoll, mit dem sich Daten in einem IP-Netzwerk übertragen lassen. Die wichtigste Anwendung des Hypertext Transfer Protocols ist die Übertragung von Internetseiten und Daten zwischen einem Webserver und einem Webbrowser. Es ist jedoch nicht auf Webseiten beschränkt und kommt auch für andere Anwendungen zum Einsatz.

Beispielsweise baut das Übertragungsprotokoll für Dateien WebDAV auf dem Hypertext Transfer Protocol auf. WebDAV dient zur Übertragung von Dateiverzeichnisdaten und Dateien über ein IP-Netz. Auch REST-Webservices basieren auf dem Hypertext Transfer Protocol. Die Entwicklung des Protokolls erfolgte 1989. Die Version HTTP/1.0 wurde im Jahr 1996 im RFC 1945 spezifiziert. Es folgten weitere Versionen wie HTTP/1.1 im Jahr 1999 (RFC 2616) und HTTP/2 im Jahr 2015 (RFC 7540). Im Schichtenmodell ist das Protokoll der Anwendungsschicht (Layer 7) zugeordnet.

HTTP arbeitet unverschlüsselt und sendet alle Informationen im Klartext. Um ein Abhören von Verbindungen zu verhindern, lassen sich verschlüsselte VPN-Tunnel (Virtual Private Network) oder die verschlüsselte Variante des Protokolls HTTPS einsetzen.

Die Funktionsweise des Hypertext Transfer Protocols

Das Hypertext Transfer Protocol arbeitet nach dem Client-Server-Prinzip. Der Webbrowser fungiert als Client und der Webserver als HTTP-Server. Um eine Webseite abzurufen, sendet der Browser einen HTTP-Request an den Port 80 des Servers, den dieser bearbeitet und mit einer Response-Nachricht beantwortet.

Request- und Response-Nachrichten bestehen aus dem Header mit den Steuernachrichten und den eigentlichen Daten. Mit der Antwort ist die Verbindung beendet. In der Regel finden beim Abruf von Webseiten mehrere Verbindungen gleichzeitig statt. Die Kommunikation basiert auf dem Textformat. Im Request adressiert der Client eine Datei auf dem Server, die dieser im schicken soll. Hierfür verwendet er eine so genannte URL (Uniform Resource Locator). Sie besteht aus der Angabe des Transportprotokolls (http://), dem vollständigen Domainnamen des Servers und dem Dateinamen inklusive des Dateipfads der gewünschten Datei. Optional ist es möglich, zusätzlich einen anderen Port als den Standardport 80 zu spezifizieren. Fehlt die Dateiangabe in der Adresse, schickt der Server die Default-Datei der Domain. Angeforderte nicht vorhandene Dateien beantwortet der Server mit einer Fehlermeldung.

Verwendung des Hypertext Transfer Protocols

Die Hauptanwendung des Hypertext Transfer Protocols ist die Übertragung von Webseiten im Internet. Allerdings handelt es sich beim Hypertext Transfer Protocol um ein Übertragungsprotokoll, das nicht auf Hypertext beschränkt ist, sondern prinzipiell für den Austausch beliebiger Daten eingesetzt werden kann. Um für eine zuverlässige Übertragung der Daten zu sorgen, verwendet HTTP das verbindungsorientierte und gesicherte TCP (Transmission Control Protocol).

Besonderheiten und Sicherheitsaspekte des Hypertext Transfer Protocols

Das Hypertext Transfer Protocol überträgt Informationen unverschlüsselt im Klartext. Um für eine sichere Übertragung im Internet zu sorgen, kommt mehr und mehr die verschlüsselte Variante des Hypertext Transfer Protocols HTTPS (Hypertext Transfer Protocol Secure) zum Einsatz. Dieses Protokoll ermöglicht sichere Verbindungen mit Authentifizierung und Ende-zu-Ende-Verschlüsselung. In der Regel authentifizieren sich die Webserver gegenüber dem Webbrowser dabei mit einem Zertifikat. Zu erkennen sind diese Verbindungen an dem Beginn einer URL mit "https://" anstatt "http://". Der genutzte Port ist dann nicht mehr Port 80 sondern Port 443.

Das Hypertext Transfer Protocol beinhaltet die Option der User-Authentifizierung. Wenn für eine Datei ein Benutzernamen und Passwort benötigt wird, meldet dies der Server dem Webbrowser über den Statuscode 401 und den Header WWW-Authenticate. Der User kann anschließend über ein eingeblendetes Dialogfenster Benutzernamen und Passwort eingeben. Diese Daten überträgt der Browser an den Server. Sind die Anmeldedaten korrekt, liefert der Server die angeforderte Datei aus.

Eine weitere Option des Hypertext Transfer Protocols ist die Komprimierung. Um die übertragene Datenmenge zu reduzieren, hat der Server die Möglichkeit, seine Antworten zu komprimieren. Client und Server handeln zuvor das zu verwendende Kompressionsverfahren aus. Vor allem bei textbasierten Daten wie HTML, CSS oder JavaScript lässt sich mit Komprimierung viel Bandbreite sparen. Bei bereits komprimiert vorliegenden Daten wie Bildern, Videos oder Audiodateien ist die erneute Kompression hingegen weniger sinnvoll.

(ID:45154567)

Über den Autor