Was ist HTTP(s)?

Zur Übersicht

Inhaltsverzeichnis

Was ist HTTP(s)?

HTTP (Hypertext Transfer Protocol) ist das Regelwerk für die Übertragung von Dateien, wie z. B. Text-, Grafik-, Ton-, Video- und andere Multimediadateien, im World Wide Web. Sobald ein Web-Benutzer seinen Web-Browser öffnet, macht der Benutzer indirekt Gebrauch von HTTP. HTTP ist ein Anwendungsprotokoll, das auf der TCP/IP-Suite von Protokollen (den Basisprotokollen für das Internet) läuft. Die neueste Version von HTTP ist HTTP/2, die im Mai 2015 veröffentlicht wurde. Es ist eine Alternative zu seinem Vorgänger, HTTP 1.1, macht es aber nicht obsolet.

Wie HTTP(s) funktioniert

Wie der "Hypertext"-Teil des Namens schon andeutet, beinhaltet das HTTP-Konzept die Idee, dass Dateien Verweise auf andere Dateien enthalten können, deren Auswahl weitere Übertragungsanforderungen auslöst. Zusätzlich zu den Webseitendateien, die er bereitstellen kann, enthält jeder Webserver-Rechner einen HTTP-Daemon, ein Programm, das auf HTTP-Anforderungen wartet und sie bearbeitet, wenn sie eintreffen.

Ein Webbrowser ist ein HTTP-Client, der Anfragen an Server-Rechner sendet. Wenn der Browser-Benutzer Dateianforderungen eingibt, indem er entweder eine Webdatei "öffnet" (indem er eine URL eingibt) oder auf einen Hypertext-Link klickt, erstellt der Browser eine HTTP-Anforderung und sendet sie an die durch die URL angegebene Internet-Protokolladresse (IP-Adresse). Der HTTP-Daemon auf dem Zielserver empfängt die Anforderung und sendet die angeforderte Datei oder die mit der Anforderung verbundenen Dateien zurück. Hinweis: Eine Webseite besteht oft aus mehr als einer Datei.

Um dieses Beispiel zu erweitern, möchte ein Benutzer www.Agentur-Sence.de besuchen. Der Benutzer gibt die Webadresse ein, und der Computer sendet eine "GET"-Anforderung an einen Server, der diese Adresse hostet. Diese GET-Anfrage wird über HTTP gesendet und teilt dem AgenturSence-Server mit, dass der Benutzer nach dem HTML-Code (Hypertext Markup Language) sucht, der die Anmeldeseite strukturiert und ihr das Aussehen verleiht. Der Text dieser Anmeldeseite ist in der HTML-Antwort enthalten, aber andere Teile der Seite, insbesondere die Bilder und Videos, werden durch separate HTTP-Anfragen und Antworten angefordert. Je mehr Anfragen gestellt werden müssen - z. B. um eine Seite mit zahlreichen Bildern aufzurufen - desto länger dauert es, bis der Server auf diese Anfragen reagiert und das System des Benutzers die Seite lädt.

Wenn diese Anfragen und Antworten gesendet werden, verwenden sie TCP/IP, um Informationen in kleinen Paketen aus binären Folgen von Einsen und Nullen zu reduzieren und zu transportieren. Diese Pakete werden physisch durch elektrische Leitungen, Glasfaserkabel und drahtlose Netzwerke gesendet.

HTTP vs. HTTPs

HTTPS ("HTTP over SSL" oder "HTTP Secure") ist die Verwendung von Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) als Sublayer unter der regulären HTTP-Anwendungsschichtung. HTTPS verschlüsselt und entschlüsselt sowohl die HTTP-Seitenanfragen der Benutzer als auch die vom Webserver zurückgegebenen Seiten. Die Verwendung von HTTPS schützt vor Lauschangriffen und Man-in-the-Middle (MitM)-Angriffen. HTTPS wurde von Netscape entwickelt.

Die Umstellung von HTTP auf HTTPS wird als gut für die Sicherheit angesehen.

Arten von Status-Codes

Als Antwort auf HTTP-Anfragen geben Server oft Antwortcodes aus, die anzeigen, dass die Anfrage bearbeitet wird, dass ein Fehler in der Anfrage aufgetreten ist oder dass die Anfrage umgeleitet wird. Gängige Antwortcodes sind:

  • 200 OK. Dies bedeutet, dass die Anfrage, z. B. GET oder POST, funktioniert hat und bearbeitet wird.
  • 301 Dauerhaft verschoben. Dieser Antwortcode bedeutet, dass die URL der angeforderten Ressource dauerhaft geändert wurde.
  • 401 Unautorisiert. Der Client - der Benutzer, der die Anfrage an den Server stellt - wurde nicht authentifiziert.
  • 403 Verboten. Die Identität des Clients ist bekannt, aber es wurde keine Zugriffsberechtigung erteilt.
  • 404 Nicht gefunden. Dies ist der häufigste und am meisten erkannte Fehlercode. Er bedeutet, dass die URL nicht erkannt wird oder die Ressource an der Stelle nicht existiert.
  • 500 Interner Serverfehler. Der Server ist auf eine Situation gestoßen, von der er nicht weiß, wie er sie behandeln soll.