Zum Hauptinhalt springen Skip to page footer

HTTP - Das grundlegende Protokoll der Webkommunikation

| How2-Hub | kompakt

HTTP steht für Hypertext Transfer Protocol und ist ein Protokoll zur Datenübertragung im Internet. Es ist ein grundlegender Bestandteil der modernen Web-Kommunikation und ermöglicht den Austausch von Informationen zwischen Clients und Servern. HTTP definiert Regeln und Standards für die Kommunikation zwischen Webbrowsern, Webservern und anderen webbasierten Anwendungen.

Das HTTP-Protokoll basiert auf einem Client-Server-Modell. Ein Client (normalerweise ein Webbrowser) sendet eine Anfrage an einen Server, und der Server stellt die angeforderten Ressourcen bereit. Diese Ressourcen können Webseiten, Bilder, Videos, Dokumente oder andere Dateien sein. Der Server beantwortet die Anfrage und sendet die angeforderten Daten an den Client zurück.

Als Übertragungsmedium verwendet HTTP das TCP/IP-Protokoll. TCP (Transmission Control Protocol) sorgt für eine zuverlässige Datenübertragung, indem es sicherstellt, dass die Datenpakete in der richtigen Reihenfolge und ohne Verlust ankommen.

Eine typische HTTP-Anfrage besteht aus einer Methode, einer URL (Uniform Resource Locator), optionalen Header-Feldern und einem Nachrichtentext. Die Methode definiert die Art der Aktion, die der Client ausführen möchte. Die gebräuchlichsten Methoden sind GET, POST, PUT und DELETE. 

  • GET: GET-Anfragen werden verwendet, um Daten vom Server abzurufen. Wenn Sie beispielsweise eine Webseite in Ihrem Browser anzeigen, sendet Ihr Browser eine GET-Anfrage an den Server, um die HTML-Datei der Webseite abzurufen.
  • POST: POST-Anfragen werden verwendet, um Daten an den Server zu senden. Wenn Sie beispielsweise ein Formular auf einer Webseite ausfüllen und abschicken, sendet Ihr Browser die eingegebenen Daten mit einer POST-Anfrage an den Server.
  • PUT: PUT-Anfragen werden verwendet, um Ressourcen auf dem Server zu erstellen oder zu aktualisieren. Ein Client sendet in einer Anfrage Daten für eine Ressource und der Server speichert diese Daten entsprechend.
  • DELETE: Eine DELETE-Anfrage wird verwendet, um eine Ressource vom Server zu entfernen. 

Eine URL in einer HTTP-Anfrage gibt die Ressource an, die der Client abrufen oder bearbeiten möchte. Dies ist das Protokoll (http:
// oder https:
//), der Hostname des Servers, der Port (normalerweise Port 80 für HTTP und Port 443 für HTTPS) und der Pfad zur Ressource.

Ein Server antwortet auf eine HTTP-Anfrage mit einem HTTP-Statuscode, optionalen Header-Feldern und einem Nachrichtenkopf. Der Statuscode gibt an, ob die Anfrage erfolgreich war oder ob ein Fehler aufgetreten ist. Beispiele für Statuscodes sind

  • 200 OK: Die Anfrage war erfolgreich und die angeforderten Daten sind in der Antwort enthalten. 
  • 404 Die angeforderte Seite wurde nicht gefunden: Die angeforderte Ressource konnte nicht gefunden werden.
  • 500 Interner Serverfehler: Ein interner Serverfehler ist aufgetreten.

Header-Felder enthalten Metadaten zur Anfrage oder Antwort. Dies können Informationen wie der verwendete Inhaltstyp, die Datengröße, vom Client akzeptierte Sprachen, Cookies usw. sein.

HTTP unterstützt auch die Aufrechterhaltung von Verbindungen zwischen Clients und Servern. Normalerweise wird für jede Anfrage des Clients eine neue TCP-Verbindung aufgebaut und nach Beendigung der Anfrage wieder geschlossen. Persistente Verbindungen (auch Keep-Alive-Verbindungen genannt) ermöglichen es, mehrere Anfragen über dieselbe TCP-Verbindung zu senden, wodurch das Auf- und Abbauen von Verbindungen entfällt und die Leistung verbessert wird.

Darüber hinaus sichert HTTP die Verbindungen und bietet die Möglichkeit, den Datenverkehr zu verschlüsseln. Das HTTPS-Protokoll (HTTP Secure) verwendet SSL/TLS-Verschlüsselungsschichten, um die Vertraulichkeit und Integrität der übertragenen Daten zu gewährleisten. Dies ist besonders wichtig, wenn sensible Informationen wie Passwörter oder Zahlungsdaten übertragen werden. HTTP ist das Basisprotokoll für die Kommunikation im World Wide Web. Es tauscht Daten zwischen Client und Server aus und bildet die Grundlage für das Browsen von Webseiten, das Senden von Formulardaten, das Abrufen von Ressourcen etc. Mit der kontinuierlichen Weiterentwicklung von HTTP werden verschiedene Versionen wie HTTP/1.0, HTTP/1.1 und HTTP/2 eingeführt, um die Leistungsfähigkeit und Effizienz der Kommunikation weiter zu verbessern.