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.
Dank Startguthaben testen Sie Cloud Server bei IONOS 1 Monat lang kostenlos (oder bis das Guthaben verbraucht ist) und erleben die perfekte Kombination aus Leistung und Sicherheit!
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
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>
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.