http: Hypertext Transfer Protocol einfach erklärt

Geben wir im Internet eine Adresse an, beginnt diese meist mit www – schauen wir einmal genauer hin, sehen wir allerdings, dass in der Adresszeile tatsächlich noch etwas davorsteht. Jetzt gerade beispielsweise https://, höchstwahrscheinlich haben Sie es aber gar nicht eingetippt, sondern es geschieht ganz von allein. Was hat es damit auf sich? Werfen wir einen Blick auf die Bedeutsamkeit von http.

Digital Wissen Illu http RGB

Was bedeutet http?

Bei „http“ handelt es sich natürlich um eine Abkürzung. Sie steht für „Hypertext Transfer Protocol“ und ermöglicht es Nutzern, Daten zu übertragen und zu empfangen – es ist das Protokoll des World Wide Webs und wird daher automatisch vorangestellt, auch wenn es nicht eingegeben wird. Was bedeutet das konkret? Mithilfe des Protokolls können Clients und Server im Internet miteinander kommunizieren. Erstere kennen Sie als User beispielsweise in Form von Anwendungen wie den Webbrowsern Firefox, Chrome oder Safari und E-Mail-Diensten wie Outlook, Thunderbird oder Mail. Diese und viele weitere netzbasierte Programme benötigen für ihr Funktionieren die Ressourcen von Webservern, die Sie über das Hypertext Transfer Protocol anfragen können. Dazu zählen beispielsweise Textelemente und Bilder, die Ihnen im Browser dann so präsentiert werden, dass Sie die Website ansehen und verwenden können.

Da http auf dieser Ebene agiert, wird es der sogenannten Anwendungsschicht zugeordnet. Sie fungiert kurzgesagt als Dateieingabe und Dateiausgabe. User agieren vorrangig mit der Anwendungsschicht, denn sie gewährleistet eine Verbindung zu den „tieferliegenden“ Schichten, über die dann beispielsweise die Daten mithilfe eines Transportprotokolls wie TCP übertragen werden. Zur Verdeutlichung: Bei http handelt es sich nicht um ein Transportprotokoll, sondern um ein Transferprotokoll, es sorgt dafür, dass der Server die Anfragen des Clients interpretieren kann. Betrachten wir einmal, wie das vonstattengeht.

Wie funktioniert http?

Klicken wir einen Button an oder geben eine URL im Adressfeld des Webbrowsers ein, sendet der Browser eine sogenannten „GET“-Request – also eine Anfrage, um etwas zu erhalten. Diese Anfrage beinhaltet unter anderem den zu erreichenden Host, also beispielsweise eine Website wie deutsche-glasfaser.de sowie die gewünschte Ressource. Damit beginnt ein sogenannter Request-Response-Cycle, der immer durch den Client begonnen wird: Sie führen in Ihrem Browser eine Aktion aus, senden dadurch eine Request und die Response sorgt für die gewünschte, neue Darstellung.

Als Sie diese Website zur Funktionsweise von „http“ aufgerufen haben, haben Sie über den Webbrowser eine GET-Request an den Webserver von Deutsche Glasfaser gesendet, um eine HTML-Datei zu erhalten. Klicken Sie hier einen Button oder einen Link an, löst dies eine neue GET-Request aus, die Sie zu einer neuen Website führt und so weiter.

Natürlich sind GET-Anfragen nicht die einzigen Funktionen des Hypertext-Protokolls. Schließlich gibt es auch Situationen, in denen der User nichts erhalten, sondern etwas übermitteln will, beispielsweise die Log-in-Daten für unser Kundenportal. In diesem Fall wird eine sogenannte POST-Request gestellt, die Ihnen letztlich erlaubt, die gefragten Daten zu übermitteln und sich somit in Ihren Bereich einzuloggen. Jede Anfrage wird mit einem Statuscode beantwortet, der aus einer dreistelligen Zahl besteht. Hier einige der gängigsten im Überblick:

[PS1]Link Wiki HTML[PS2]https://www.deutsche-glasfaser.de/kundenportal-login/

200

Statuscodes, die mit einer 2 beginnen, sind ein gutes Zeichen. 200 bedeutet beispielsweise: Die Anfrage wurde erfolgreich bearbeitet und das Ergebnis wird in der Antwort ebenfalls übertragen.

301

Beginnt der Statuscode mit einer 3, sind für eine erfolgreiche Bearbeitung weitere Schritte notwendig. 301 heißt etwa: Die angeforderte Ressource ist dauerhaft „umgezogen“ und nun über eine andere Adresse erreichbar. Die Ressource kann nun über eine im Protokoll vermerkte Adresse erreicht werden.

401

Statuscodes, die mit einer 4 beginnen, bedeuten, dass die Anfrage nicht richtig bearbeitet werden konnte. Die 401 informiert beispielsweise über eine fehlende Authentifizierung, die für den Zugriff benötigt wird.

404

Manchem ist vielleicht die 404 bekannt – sie bedeutet, dass die Ressource nicht gefunden wurden konnte. Das liegt oftmals einfach daran, dass sie vom Betreiber der Website gelöscht, verschoben oder umbenannt wurde ohne eine neue Adresse zu hinterlegen.

Bei http handelt es sich zudem um ein zustandsloses Protokoll. Zustandslos bedeutet in diesem Zusammenhang, dass das Protokoll sämtliche Anfragen gesondert betrachtet, auch wenn diese vom selben Client stammen. Es speichert also keine Informationen und „vergisst“ gleich nach dem Versand der Ressource wieder die ursprüngliche Anfrage. Für das Hypertext-Protokoll sind Sie als Nutzer also bei der Transaktion wieder „fremd“.

Sind Sie häufig im Web unterwegs, haben Sie bisweilen vielleicht aber eher ein gegenteiliges Gefühl – alles scheint sich an Sie zu erinnern. Links werden farbig markiert, um zu verdeutlichen, dass sie bereits angeklickt wurden, und auf vielen Websites sind Ihre Daten zur Authentifizierung direkt eingetragen. Wie kann das bei einem zustandslosen Protokoll sein? Eine gute Frage! Ein Blick in die Struktur des Hypertext Transfer Protocols liefert die Antwort.

Wie sieht ein http-Protokoll aus?

Jede http-Nachricht verfügt über einen Header und optional über einen Body. Das gilt sowohl für die Anfragen des Clients als auch für die Antworten des Servers. Da der Body lediglich zusätzliche Informationen enthält und in vielen Situationen gar nicht benötigt wird, beschränken wir uns hier auf den sogenannten Header.

Im Header der http-Anfragen findet sich die gewünschte Methode, beispielsweise GET oder POST, die wir bereits kennengelernt haben. Hinzu kommen die gewünschte Ressource und die Adresse des Hosts. Diese Informationen teilen dem Webserver dann beispielsweise mit, dass Sie mit Ihrem Klick wünschen, diesen Wiki-Artikel zu öffnen.

In der Response, also der Antwort, finden sich dann zahlreiche andere Informationen, zum Beispiel welcher Content-Typ aufgerufen wurde (in diesem Fall eine HTML-Text-Datei). Hier wird auch festgehalten, ob sogenannte Cookies gesetzt werden, um deren Erlaubnis Sie mittlerweile auf jeder Website gebeten werden. Diese Cookies ermöglichen es dann unter anderem, dass sich die aufgerufene Website eben doch an Sie erinnert – trotz des zustandslosen Protokolls.

Was ist besser: http oder https?

Vielleicht haben Sie eingangs direkt schon einen Blick in die Adresszeile Ihres Webbrowsers geworfen und festgestellt, dass dort gar nicht http, sondern https steht. Der Grund dafür ist einfach: Das s steht für Secure – also sicher. Um Ihre Daten zu schützen, erfolgt die Kommunikation zwischen Ihrem Webclient und dem Server verschlüsselt. So wird verhindert, dass Dritte Ihren Webverkehr mitlesen können. Dabei erfolgt gleich zu Beginn eine Authentifizierung des Webservers, der Ihrem Client damit bestätigt, dass die Seite vertrauenswürdig ist. Sie selbst brauchen also nichts weiter zu tun, um für einen sicheren Austausch zu sorgen. Letztlich ist https also insofern „besser“ als dass es vor allem sicherer ist, ansonsten funktionieren beide http-Formen nahezu identisch.

Ein World Wide Web ohne http?

Unser modernes Internet ist ohne http und https derzeit nicht vorstellbar, da Webclients wie Browser und Co. nicht mit den Servern kommunizieren könnten. Die Server würden also nicht „verstehen“, was Sie als Nutzer denn überhaupt nutzen möchten. Ob Sie sich die Fußballergebnisse des letzten Spieltages ansehen, den Livestream eines Konzerts verfolgen oder schlicht Ihre Mails checken – http ermöglicht, dass Sie über die gewünschte Adresse auch die passende Antwort in der passenden Form erhalten.