PUT request method
Die PUT-HTTP-Methode erstellt eine neue Ressource oder ersetzt eine Repräsentation der Zielressource mit dem Anforderungs-Inhalt.
Der Unterschied zwischen PUT und POST ist, dass PUT idempotent ist: Ein einzelner Aufruf unterscheidet sich nicht von mehreren aufeinanderfolgenden Aufrufen (es gibt keine seitlichen Effekte).
| Anforderung enthält einen Body | Ja |
|---|---|
| Erfolgreiche Antwort enthält einen Body | Kann |
| Sicher | Nein |
| Idempotent | Ja |
| Cachefähig | Nein |
| Erlaubt in HTML-Formularen | Nein |
Syntax
PUT <request-target>["?"<query>] HTTP/1.1
<request-target>-
Identifiziert die Zielressource der Anforderung, wenn sie mit den Informationen im
Host-Header kombiniert wird. Dies ist ein absoluter Pfad (z. B./path/to/file.html) bei Anforderungen an einen Ursprungsserver und eine absolute URL bei Anforderungen an Proxy-Server (z. B.http://www.example.com/path/to/file.html). <query>Optional-
Eine optionale Abfragekomponente, der ein Fragezeichen
?vorangestellt ist. Wird häufig verwendet, um identifizierende Informationen in Form vonkey=value-Paaren zu übermitteln.
Beispiele
>Erfolgreiches Erstellen einer Ressource
Die folgende PUT-Anforderung bittet darum, eine Ressource unter example.com/new.html mit dem Inhalt <p>New File</p> zu erstellen:
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16
<p>New File</p>
Wenn die Zielressource keine aktuelle Repräsentation hat und die PUT-Anforderung erfolgreich eine erstellt, muss der Ursprungsserver eine 201 Created-Antwort senden:
HTTP/1.1 201 Created
Content-Location: /new.html
Wenn die Zielressource eine aktuelle Repräsentation hat und diese Repräsentation erfolgreich mit dem Zustand in der Anforderung modifiziert wird, muss der Ursprungsserver entweder einen 200 OK oder einen 204 No Content senden, um den erfolgreichen Abschluss der Anforderung anzuzeigen:
HTTP/1.1 204 No Content
Content-Location: /existing.html
Spezifikationen
| Spezifikation |
|---|
| HTTP Semantics> # PUT> |
Browser-Kompatibilität
Der Browser verwendet die PUT-Methode nicht für benutzerinitiierte Aktionen, daher trifft "Browser-Kompatibilität" nicht zu. Entwickler können diese Anforderungsmethode mit fetch() festlegen.
Siehe auch
- HTTP-Anforderungsmethoden
- HTTP-Antwortstatuscodes
- HTTP-Header
201 Created,204 No ContentAntwortstatuscodes