Wissenswertes rund um HTTP-Requests

Mithilfe des HTTP-Protokolls rufen wir Webseiten auf, der Browser kommuniziert mit dem Webserver. Doch wie funktioniert diese Kommunikation?

Das HTTP-Protokoll regelt, wie Clients (Browser) Anfragen formulieren und wie die Server darauf antworten. Dazu gibt es spezielle Anfragemethoden, sogenannte HTTP-Requests. Eine wichtige Rolle spielt hierbei der Unified Resource Identifier (URI). URIs werden zur Bezeichnung von Ressourcen im Internet eingesetzt. Eine URI ist die Adresse einer Website (Ressource). Beispiel: tecomon.de. Die zugehörige URL wäre in dem Fall https://tecomon.de/.

Aufzählung der verschiedenen http-requests
GET und POST

Der Urahn der HTTP-Requests ist GET. Er existiert bereits seit den Anfängen des World Wide Webs und dient dazu, Dateien vom Webserver anzufordern. Wenn Sie in Ihren Browser eine URL eingeben, dann verbindet dieser sich mit dem Webserver und sendet ihm die GET-Anfrage zu. Dabei wird ein Parameter (z. B. übertragene Formulardaten), getrennt durch ein Fragezeichen, zum URI hinzugefügt. Ein Beispiel hierzu wäre „tecomon.de/index.php?suche=aktuelles“. Die Daten, die an den Server gesendet werden sollen, werden also direkt in die URL geschrieben. Der Vorteil: URL-Parameter können zusammen mit der Website-Adresse gespeichert und über den Browserverlauf wieder zurückholen werden. Nachteil: Sämtliche Daten, die Sie übertragen, werden offen über die Adresszeile des Browsers übermittelt. 

Bei einem Login auf einer Plattform wollen wir aber nicht, dass unser Benutzername und das Passwort öffentlich in der Adresszeile unseres Browsers angezeigt werden. Wenn Sie große oder vertrauliche Datenmengen senden wollen, ist die GET-Methode daher nicht ideal. Deswegen gibt es POST. Diese Methode schreibt die Parameter nicht in die URL, sondern nur in den HTTP-Request für den Server. Für den Benutzer sind die Daten nicht sichtbar. Die POST-Methode bietet somit Diskretion und ist wichtig für den Umgang mit sensiblen Daten. Die Daten werden außerdem weder im Cache noch im Browserverlauf gespeichert. Hierbei liegt jedoch auch der Nachteil von POST. Wenn eine Webseite mit einem Formular im Browser aktualisiert wird (z. B. beim Betätigen der Schaltfläche „Zurück“), dann müssen die Formulardaten nochmals übermittelt werden. Es kann passieren, dass somit bei einem Bestellformular unerwünschte Doppelaufträge ausgelöst werden. Moderne Webshop-Programme können dies allerdings verhindern.

Heutzutage wird GET meist für Filter-, Sortierungs- und Sucheingaben verwendet. POST hingegen, um Informationen und Daten des Anwenders zu übermitteln.

Weitere Anfragemethoden

Außer den beiden vorgestellten HTTP-Requests gibt es noch eine Reihe weiterer Anfragemethoden. OPTIONS liefert eine Liste der unterstützten HTTP- Methoden des Servers. Mit TRACE können Routen verfolgt werden, über die ein HTTP-Request zum Server und von dort zurück an den Client geht. So kann geprüft werden, ob und wie die Anfrage auf dem Weg zum Server verändert worden ist. Diese Methode ist wichtig für den Test von Programmen und der Fehlerbehebung. Durch HEAD können Clients sich zuerst die Dateigrößen nennen lassen und dann entscheiden, ob sie die Datei empfangen wollen. Außerdem können auch weitere Informationen vorab erhalten und die Dokumenteninhalte geprüft werden. Beispielsweise die Gültigkeit einer Datei. PUT, PATCH und DELETE, dienen dazu, auf dem Server Dateien zu speichern, zu verändern oder zu löschen. Aus Sicherheitsgründen blockieren Server die Methoden meist. Daher spielen sie in der normalen Website-Programmierung kaum eine Rolle. Ihre Anwendung finden PUT, PATCH und DELETE im WebDAV-Kontext und im Zusammenhang mit der REST-API.