HTTP (Hypertext Transfer Protocol) ist das Regelwerk für die Übertragung von Dateien, wie z.B. Text, Grafik, Ton, Video und andere Multimedia-Dateien, im World Wide Web. Sobald ein Webnutzer seinen Webbrowser öffnet, macht er 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 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 Übertragungsanfragen nach sich zieht. Zusätzlich zu den Webseitendateien, die er bereitstellen kann, enthält jede Webservermaschine einen HTTP-Daemon, ein Programm, das auf HTTP-Anfragen wartet und sie bearbeitet, wenn sie ankommen. Ein Webbrowser ist ein HTTP-Client, der Anfragen an Servermaschinen sendet. Wenn der Browser-Benutzer Dateianfragen eingibt, indem er entweder eine Webdatei “öffnet” (indem er eine URL eingibt) oder auf einen Hypertext-Link klickt, erstellt der Browser eine HTTP-Anfrage und sendet sie an die Internet-Protokoll-Adresse (IP-Adresse), die durch die URL angegeben ist. Der HTTP-Daemon auf dem Zielserver empfängt die Anfrage und sendet die angeforderte Datei oder die mit der Anfrage verbundenen Dateien zurück. Als Anmerkung: Eine Webseite besteht oft aus mehr als einer Datei.
Wie HTTP funktioniertMEGAN WILCOX
Wie HTTP funktioniert
Um dieses Beispiel zu erweitern, möchte ein Benutzer TechTarget.com besuchen. Der Benutzer tippt die Webadresse ein, und der Computer sendet eine “GET”-Anfrage an einen Server, der diese Adresse hostet. Diese GET-Anfrage wird über HTTP gesendet und teilt dem TechTarget-Server mit, dass der Benutzer nach dem HTML-Code (Hypertext Markup Language) sucht, der verwendet wird, um die Login-Seite zu strukturieren und ihr das Aussehen zu geben. Der Text der 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 – zum Beispiel, um eine Seite aufzurufen, die zahlreiche Bilder enthält – desto länger braucht der Server, um auf diese Anfragen zu antworten und das System des Nutzers, um die Seite zu laden.
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 Drähte, 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 dem regulären HTTP Application Layering. HTTPS verschlüsselt und entschlüsselt sowohl die HTTP-Seitenanfragen der Benutzer als auch die Seiten, die vom Webserver zurückgegeben werden. 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 es einen Fehler in der Anfrage gab oder dass die Anfrage umgeleitet wird. Übliche Antwortcodes sind:
200 OK. Dies bedeutet, dass die Anfrage, wie GET oder POST, funktioniert hat und bearbeitet wird.
300 Moved Permanently. 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 Forbidden. Die Identität des Clients ist bekannt, aber es wurde keine Zugriffsberechtigung erteilt.
404 Not Found. Dies ist der häufigste und bekannteste Fehlercode. Er bedeutet, dass die URL nicht erkannt wird oder die Ressource an der Stelle nicht existiert.
500 Internal Server Error. Der Server ist auf eine Situation gestoßen, von der er nicht weiß, wie er sie behandeln soll.