PUT
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
besteht darin, dass PUT
idempotent ist: ein einziger Aufruf hat den gleichen Effekt wie mehrere aufeinanderfolgende Aufrufe (es gibt keine Neben effekte).
Anforderung hat einen Inhalt | Ja |
---|---|
Erfolgreiche Antwort hat einen Inhalt | Kann |
Sicher | Nein |
Idempotent | Ja |
Cache-fähig | Nein |
Erlaubt in HTML-Formularen | Nein |
Syntax
PUT <request-target>["?"<query>] HTTP/1.1
<request-target>
-
Identifiziert die Zielressource der Anforderung in Kombination mit den im
Host
Header bereitgestellten Informationen. Dies ist ein absoluter Pfad (z. B./path/to/file.html
) bei Anfragen an einen Ursprungsserver und eine absolute URL bei Anfragen an Proxies (z. B.http://www.example.com/path/to/file.html
). <query>
Optional-
Eine optionale Abfragekomponente, die von einem Fragezeichen
?
eingeleitet wird. Wird häufig verwendet, um identifizierende Informationen in Form vonkey=value
Paaren zu übertragen.
Beispiele
Erfolgreiches Erstellen einer Ressource
Die folgende PUT
-Anfrage fordert an, eine Ressource bei 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>
Falls die Zielressource keine aktuelle Repräsentation hat und die PUT
-Anfrage 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 erfolgreich mit dem Zustand der Anfrage modifiziert wird, muss der Ursprungsserver entweder eine 200 OK
oder eine 204 No Content
senden, um den erfolgreichen Abschluss der Anfrage anzuzeigen:
HTTP/1.1 204 No Content
Content-Location: /existing.html
Spezifikationen
Specification |
---|
HTTP Semantics # PUT |
Browser-Kompatibilität
Der Browser verwendet die PUT
-Methode nicht für benutzerinitiierte Aktionen, daher gilt "Browser-Kompatibilität" nicht.
Entwickler können diese Anfragemethode mit fetch()
festlegen.
Siehe auch
- HTTP-Anfragemethoden
- HTTP-Antwortstatuscodes
- HTTP-Header
201 Created
,204 No Content
Antwortstatuscodes