HTTP-Anfragemethoden
HTTP definiert eine Reihe von Anfragemethoden, die den Zweck einer Anfrage und das erwartete Ergebnis bei erfolgreicher Verarbeitung angeben. Obwohl sie auch Substantive sein können, werden diese Anfragemethoden manchmal als HTTP-Verben bezeichnet. Jede Anfragemethode hat ihre eigene Semantik, einige Eigenschaften gelten jedoch für mehrere Methoden: Anfragemethoden können sicher, idempotent oder cachebar sein.
GET-
Die Methode
GETfordert eine Repräsentation der angegebenen Ressource an. Anfragen mitGETsollten nur Daten abrufen und keinen Anfrageinhalt enthalten. QUERY-
Die Methode
QUERYstartet eine serverseitige Abfrage. Sie fordert die Zielressource auf, den Anfrageinhalt auf sichere und idempotente Weise zu verarbeiten und das Ergebnis in der Antwort zurückzugeben. Sie ähneltGET, erlaubt aber Anfrageinhalte mit definierter Semantik. HEAD-
Die Methode
HEADfordert eine Antwort an, die mit der auf eineGET-Anfrage identisch ist, jedoch keinen Antwortkörper enthält. POST-
Die Methode
POSTübermittelt eine Entität an die angegebene Ressource, was häufig eine Zustandsänderung oder andere Nebeneffekte auf dem Server bewirkt. PUT-
Die Methode
PUTersetzt alle aktuellen Repräsentationen der Zielressource durch den Anfrageinhalt. DELETE-
Die Methode
DELETElöscht die angegebene Ressource. CONNECT-
Die Methode
CONNECTstellt einen Tunnel zum Server her, der durch die Zielressource identifiziert wird. OPTIONS-
Die Methode
OPTIONSbeschreibt die Kommunikationsoptionen für die Zielressource. TRACE-
Die Methode
TRACEführt einen Nachrichten-Loopback-Test entlang des Pfads zur Zielressource durch. PATCH-
Die Methode
PATCHnimmt teilweise Änderungen an einer Ressource vor.
Sichere, idempotente und cachebare Anfragemethoden
Die folgende Tabelle führt HTTP-Anfragemethoden und ihre Einordnung hinsichtlich Sicherheit, Cachebarkeit und Idempotenz auf.
| Methode | Sicher | Idempotent | Cachebar |
|---|---|---|---|
GET |
Ja | Ja | Ja |
QUERY |
Ja | Ja | Ja |
HEAD |
Ja | Ja | Ja |
OPTIONS |
Ja | Ja | Nein |
TRACE |
Ja | Ja | Nein |
PUT |
Nein | Ja | Nein |
DELETE |
Nein | Ja | Nein |
POST |
Nein | Nein | Bedingt* |
PATCH |
Nein | Nein | Bedingt* |
CONNECT |
Nein | Nein | Nein |
* POST und PATCH sind cachebar, wenn die Antworten ausdrücklich Informationen zur Aktualität und einen passenden Content-Location-Header enthalten.
Spezifikationen
| Spezifikation |
|---|
| HTTP Semantics> # OPTIONS> |
| HTTP Semantics> # PUT> |
| HTTP Semantics> # DELETE> |
| HTTP Semantics> # CONNECT> |
| HTTP Semantics> # HEAD> |
| HTTP Semantics> # GET> |
| HTTP Semantics> # POST> |