# Der HTTP-Request einfach erklärt

Im Web kommunizieren Clients – etwa Ihr Browser – mit Webservern mithilfe des [HTTP-Protokolls](https://www.ionos.at/digitalguide/hosting/hosting-technik/was-ist-http/ "Was ist HTTP?"). Dieses regelt, wie der [Client](https://www.ionos.at/digitalguide/server/knowhow/was-ist-ein-client/ "Was ist ein 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.

## 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:

```none
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:

```none
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 „&amp;“ 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:

```none
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:

```none
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](https://www.urlencoder.org/ "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](https://www.ionos.at/digitalguide/hosting/hosting-technik/http-header/ "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:

```none
<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>
<div class="hash d-none" hidden>hash_00d10701108d206798ffcc97eebe4516b8c0028e</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

---

### Tipp

In unserem Ratgeber finden Sie ausführliche Informationen zum [Unterschied zwischen GET und POST](https://www.ionos.at/digitalguide/websites/web-entwicklung/get-vs-post/ "Get vs. 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:

```none
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“:

[![Bild: Screenshot einer HTTP-Response auf die Anfrage HEAD](https://www.ionos.at/digitalguide/fileadmin/_processed_/6/d/csm_http-response-head_10e9f6eadd.webp "Screenshot einer HTTP-Response auf die Anfrage HEAD")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/http-response-head.png) Der Server antwortet auf die HEAD-Anfrage mit den Eckdaten zur verlangten Datei.       ##  OPTIONS

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

```none
OPTIONS /download.php
```

Die Antwort könnte so aussehen:

[![Bild: Screenshot eines HTTP-Response auf OPTIONS](https://www.ionos.at/digitalguide/fileadmin/_processed_/6/a/csm_http-response-options_25d5d7f2bd.webp "Screenshot eines HTTP-Response auf OPTIONS")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/http-response-options.png) Antwort des Servers auf die OPTIONS-Anfrage       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](https://www.ionos.at/digitalguide/server/tools/mit-traceroute-den-weg-von-datenpaketen-verfolgen/ "Mit Traceroute den Weg von Datenpaketen verfolgen")* selbst durchführen. Dazu geben Sie in der Kommandozeile (*cmd.exe*) den folgenden Befehl ein:

```none
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](https://www.ionos.at/digitalguide/server/knowhow/webdav/ "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](https://www.ionos.at/digitalguide/server/knowhow/rest-die-http-loesung-fuer-webservices/ "REST: Die HTTP-Lösung für Webservices").


This is a markdown version of: [https://www.ionos.at/digitalguide/hosting/hosting-technik/http-request-erklaert/](https://www.ionos.at/digitalguide/hosting/hosting-technik/http-request-erklaert/) for AI/LLM consumption.