HTTP

Alle Lexikon

HTTP

Die Abkürzung HTTP steht für „Hypertext Transfer Protocol“ und bezeichnet ein Internetprotokoll, das zusammen mit den Technologien URL und HTML das Internet in seiner heutigen Form überhaupt erst möglich gemacht hat. Das HTTP-Protokoll wurde ab dem Jahr 1989 durch Roy Fielding, Tim Berners-Lee und einige ihrer Kollegen am CERN entwickelt. Bereits 1991 wurde die erste Version 0.9 veröffentlicht. Das Protokoll dient vorrangig dazu, um in einem Netzwerk Daten zu übertragen und spielt eine große Rolle bei der Anzeige von Websites im World Wide Web.

Funktionsweise der Kommunikation über HTTP

Die Kommunikation über HTTP basiert auf Nachrichten, genauer gesagt auf Anfragen und Antworten. Eine Anfrage stellt ein Client an einen Server, beispielsweise wenn ein Internet-User eine URL aufruft. Der Server antwortet schließlich entweder mit den gewünschten Inhalten, die dann im Browser angezeigt werden oder aber mit einer Fehlermeldung und einem Statuscode. Jede Nachricht besteht aus einem Nachrichtenkopf und einem Nachrichtenkörper. Im Falle der serverseitigen Antwort enthält der Header den HTTP-Statuscode und der Nachrichtenkörper die Nutzdaten, also die abgerufenen Informationen.

Ablauf eines Websiteaufrufs über HTTP

Die Anzeige einer Website dauert heute nur noch Sekundenbruchteile, doch verbergen sich hochkomplexe technische Vorgänge dahinter. Wenn ein User eine URL aufruft, so übersetzt das DNS-Protokoll zunächst die eingegebene URL in eine IP-Adresse, die adressiert werden kann. Anschließend wird das TCP-Protokoll genutzt, um eine HTTP-Get-Anforderung an den HTTP-Server zu versenden. Der Server antwortet daraufhin mit einer Header-Information sowie dem Inhalt der Website, die abgefragt wurde. Diese Inhalte sind gewöhnlich in Beschreibungssprachen wie HTML, XHTML, CSS-Stylesheets, Javascript-Skripte und viele weitere verpackt. Diese Beschreibungssprachen sind erforderlich, um die gewünschten Informationen im Browser grafisch aufbereitet anzeigen lassen zu können. Unter Zuhilfenahme von Programmiersprachen können Inhalte bei einem Abruf auch automatisch generiert werden.

Die verschiedenen HTTP-Statuscodes

Sobald ein Server eine Anfrage beantwortet, enthält seine Nachricht einen HTTP-Statuscode. Diese ist insbesondere dann relevant, wenn Fehler beim Abruf aufgetreten sind. Hierbei sind verschiedene Arten von Statuscodes zu unterscheiden. Statuscodes mit Nummern zwischen 100 und 199 enthalten Informationen darüber, dass die Bearbeitung noch läuft. Dadurch kann ein Timeout vermieden werden. Statuscodes im Bereich von 200 bis 299 lassen auf eine erfolgreiche Bearbeitung schließen. Bei einem Statuscode von 300 bis 399 liegt eine Umleitung vor. Der HTTP-Server informiert den Client darüber, unter welcher URL die abgefragten Inhalte nun zu finden sind. Die Bereiche 400 bis 499 und 500 bis 599 zeigen client- bzw. serverseitige Fehler an.