Der HTTP-Request einfach erklärt

Im Web kommunizieren Clients – etwa Ihr Browser – mit Webservern mithilfe des HTTP-Protokolls. Dieses regelt, wie der Client seine Anfragen formuliert und wie der Server darauf antwortet. Das HTTP-Protokoll kennt verschiedene Anfragemethoden. Es lohnt sich, wenigstens die gebräuchlichsten von ihnen zu kennen. In diesem Artikel erfahren Sie die Details zu den einzelnen Anfragemethoden.

Free Cloud Server Trial von IONOS

Jetzt Cloud Server kostenlos testen - Probieren Sie Ihren Cloud Server bei IONOS 30 Tage lang aus!

REST API
Unlimited Traffic
VMware Virtualisierung

GET

GET ist der „Urahn“ der HTTP-Requests. Diese Anfragemethode existiert seit den Anfängen des World Wide Web. Sie dient dazu, eine Ressource – z. B. eine HTML-Datei – vom Webserver anzufordern.

Wenn Sie in Ihren Browser die URL www.example.com eingeben, dann verbindet dieser sich mit dem Webserver und sendet diesem die GET-Anfrage zu:

GET /index.php

Die Datei index.php in diesem Beispiel ist einfach die Homepage; diese wird vom Server an den Browser gesendet.

Analog würde die Anfrage der URL www.example.com/test.html so formuliert:

GET /test.html

Der Server sendet die Datei test.html zurück.

URL-Parameter

Der GET-Anfrage können zusätzliche Informationen mitgegeben werden, die der Webserver verarbeiten soll. Diese URL-Parameter werden einfach an die URL angehängt. Die Syntax ist ganz einfach:

  • Der Query-String wird mit einem „?“ (Fragezeichen) eingeleitet.
  • Jeder Parameter ist benannt, besteht also aus einem Namen und einem Wert: „Name=Wert“
  • Wenn mehrere Parameter mitgegeben werden sollen, dann werden sie mit einem „&“ verbunden.

Hier ein Beispiel: Auf der Website einer Software-Firma wird als Plattform „Windows“ und als Kategorie „Office“ eingegeben, um entsprechende Angebote vom Server aufzurufen:

GET /search?platform=Windows&category=office

URL-Codierung des Query-Strings

Query-Strings erfordern eine besondere Zeichencodierung, da viele Sonderzeichen eine Spezialbedeutung haben. So muss beispielsweise der Text „HTTP-Überblick“ wie folgt codiert werden, um als Query-String akzeptiert zu werden:

GET /search?thema=HTTP-%C3%9Cberblick%0A
Tipp

Sie können URL-Codierungen bequem mit einem Tool erzeugen: online z. B. mit dem URL-Encoder, offline mit der Excel-Funktion URLCODIEREN().

POST

Wenn Sie große Datenmengen – beispielsweise Bilder – oder vertrauliche Formulardaten zum Server senden wollen, ist die GET-Methode nicht ideal, da sämtliche Daten, die Sie übertragen, offen in die Adresszeile des Browsers geschrieben werden.

In diesen Fällen ist die POST-Methode angemessen. Diese schreibt die URL-Parameter nicht in die URL, sondern hängt sie an den HTTP-Header an.

Meistens werden POST-Requests im Zusammenhang mit Onlineformularen verwendet. Hier das Beispiel eines Formulars, das den Namen und die E-Mail-Adresse aufnimmt und mittels POST an den Server sendet:

<html>
<body>
<form action="newsletter.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Tipp

In unserem Ratgeber finden Sie ausführliche Informationen zum Unterschied zwischen GET und POST.

HEAD

Die HEAD-Methode dient dazu, den Response-Header abzufragen, ohne sich gleich die Datei zusenden zu lassen. Dies ist beispielsweise dann sinnvoll, wenn große Dateien übertragen werden sollen: Dank der HEAD-Anfrage kann sich der Client zuerst die Dateigröße nennen lassen und erst dann entscheiden, ob er die Datei empfangen will.

Beispiel:

HEAD /downloads/video1.mpeg HTTP/1.0

Im Antwort-Header des Servers findet der Client die Angabe zur Dateigröße im Header-Feld „content-length“:

OPTIONS

Mit der OPTIONS-Methode kann der Client abfragen, welche Methoden der Server für die betreffende Datei unterstützt.

OPTIONS /download.php

Die Antwort könnte so aussehen:

Im Feld „allow“ erfahren wir, dass der Server die Methoden OPTIONS, GET, HEAD und POST unterstützt. Im Feld „content-length“ sagt uns die Zahl 0, dass keine Datei übertragen wurde, sondern nur der Header.

TRACE

Mit der TRACE-Methode kann die Route verfolgt werden, über die ein HTTP-Request zum Server und von dort zurück an den Client geht. Diese Routenverfolgung können Sie unter Windows mit dem Kommando tracert selbst durchführen. Dazu geben Sie in der Kommandozeile (cmd.exe) den folgenden Befehl ein:

tracert www.example.com

Spezialmethoden

Einige Methoden sind nur im Zusammenhang mit spezifischen Konfigurationen anwendbar. Dazu zählen die CONNECT-Methode, die über einen Proxy eine direkte, geschützte Verbindung herstellt (Tunneling), sowie diverse Methoden im Zusammenhang mit WebDAV: PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

PUT, PATCH und DELETE dienen dazu, auf dem Server Dateien zu speichern, zu verändern bzw. zu löschen. In der normalen Website-Programmierung spielen diese Methoden kaum eine Rolle, da sie von den Servern aus Sicherheitsgründen blockiert werden. Sie finden ihre Anwendung im WebDAV-Kontext und im Zusammenhang mit der REST-API.