Was ist und macht das HTTP-Protokoll? | Internet

f2c73315447c4606911cb010f1dba8e1

Das Hypertext Transfer Protocol (HTTP) ist eines der Rückgrate des Internets. Die Übertragung einer Website zwischen dem Server und dem Browser des Besuchers erfolgt über ein HTTP-Protokoll, das mittlerweile eine lange Geschichte mit vielen Versionen hat.

HTTP (Hypertext Transfer Protocol) ist ein Übertragungsprotokoll für Daten im Internet oder Intranet. Es reglementiert den Datenaustausch zwischen dem Server – der Daten bereitstellt – und dem Browser – der diese abruft und darstellt.

Wenn der Browser (Client) eine Website abruft, sendet er eine Anfrage an den Web-Server. Der Webserver antwortet daraufhin mit einer Reihe von Datenpaketen.

Entwickelt wurde HTTP ab 1989 von Tim Berners-Lee und sein Team am CERN. Das HTTP-Protokoll ist nicht zu verwechseln mit der HTML-Auszeichnungssprache, die ebenfalls zur damaligen Zeit am CERN entwickelt wurde.


HTTP/0.9

Die erste einsatzbereite Version war HTTP/0.9, ein sehr einfaches Protokoll. Es unterstützte nur die GET-Methode, akzeptierte lediglich HTML-Dokumente, übertrug keine HEADER-Informationen und die Verbindung zum Server wurde unmittelbar nach der erhaltenen Antwort abgebrochen.


HTTP/1.0

Im Mai 1996 wurde vom World Wide Web Consortium (W3C) HTTP/1.0 veröffentlicht. Das Protokoll kann Header-Informationen verarbeiten. Unterstützt werden neben HTML auch Stylesheets (CSS), Skriptsprachen (JavaScript), Medien (Grafiken). HTTP/1.0 unterstützte erstmals neben GET auch die Anfragemethoden HEAD und POST.

Nachteil (wie auch bei HTTP/0.9) – aus heutiger Sicht: Für jede Anfrage musste eine neue Verbindung geöffnet werden, die nach erhaltener Antwort wieder geschlossen wurde. Enthielt ein HTML-Dokument beispielsweise 10 Grafiken, musste 10x eine TCP-Verbindung geöffnet, auf Resultate gewartet und wieder geschlossen werden.


HTTP/1.1

HTTP/1.1 ist die derzeit (2022) gebräuchliche HTTP-Version. Eingeführt wurde das HTTP/1.1 Protokoll im Jahr 1999.

Es wurden wichtige Leistungsoptimierungen und Funktionserweiterungen eingeführt. Neben den Methoden GET, HEAD und POST stehen PUT, DELETE und TRACE zur Verfügung.

Eine der wichtigsten Neuerungen ist: Der Client kann durch einen zusätzlichen Headereintrag (Keepalive) den Wunsch äußern, keinen Verbindungsabbau durchzuführen, um die Verbindung erneut nutzen zu können. Diese „persistent Connection“ beschleunigte das Internet immens. Wo vorher bei einem HTML Dokument mit 10 Bildern 10x eine TCP-Verbindung auf- und abgebaut werden musste, kann jetzt die Selbe Verbindung genutzt werden.

HTTP/1.1 erlaubt jetzt auch, abgebrochene Übertragungen fortzusetzen.

Das HTTP/1.1 Protokoll kann nicht nur Daten vom Server abholen, sondern auch Daten mit der PUT-Methode zum Server zu übertragen und mit der DELETE-Methode Daten vom Server zu löschen.

Die neue TRACE-Methode kann den Weg zum Server verfolgen und überprüfen, ob die Daten korrekt dorthin übertragen wurden.

Quelle: Medium.com


HTTP/2.0

HTTP/2 wurde im Mai 2015 von der IETF als Nachfolger von HTTP/1.1 verabschiedet. Die Entwicklung an HTTP/2.0 wurde maßgeblich von Google (SPDY) und Microsoft (HTTP Speed+Mobility) vorangetrieben.

Ziel des HTTP/2 Protokoll ist die Beschleunigung und Optimierung von Übertragungsprozessen im Internet, bei gleichzeitiger Abwärtskompatibilität zum bisherigen Standard HTTP/1.1.

Zu den wichtigen Neuerungen zählen:

  • mehrere Anfragen können zusammengefasst werden,
  • neue Datenkompressionsmöglichkeiten,
  • binär kodierte Übertragung von Inhalten,
  • Server-initiierte Datenübertragungen (push-Verfahren),
  • Priorisierung einzelner Streams

Ein Geschwindigkeitsvorteil ergibt sich größtenteils daraus, dass mehrere Abfragen zusammen gefasst (Multiplex) werden können.

Neu bei der Datenkompression ist: mittels dem neuem Spezialalgorithmus HPACK können auch HEASDER-Informationen komprimiert werden.

Durch die Verwendung von HTTP/2 können Webseitenbetreiber die Latenzzeit zwischen Client und Server verringern und dadurch auch die Hardware entlasten.


HTTP/3.0

Im November 2018 wurde von der IETF beschlossen, dass das neue HTTP/3-Protokoll das Netzwerkprotokoll QUIC verwendet. Das QUIC-Protokoll setzt nicht mehr auf das verbindungsorientierte TCP-Protokoll, sondern auf das verbindungslose User Datagram Protocol (UDP), bei dem Datenströme getrennt verarbeitet werden.

HTTP/3.0 unterscheidet sich deutlich von seinen HTTP-Vorgängerversionen – wenn man seinen Entwicklern zuhört. Doch das HTTP/3-Protokoll ist aktuell (2022) nicht fertig definiert, beschrieben, reglementiert.