PUT
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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 einmaliger Aufruf unterscheidet sich nicht von mehrmaligen aufeinanderfolgenden Aufrufen (es gibt keine Nebeneffekte).
Anforderung hat einen Body | Ja |
---|---|
Erfolgreiche Antwort hat einen Body | Kann |
Safe | Nein |
Idempotent | Ja |
Cacheable | 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
) in Anfragen an einen Ursprungsserver und eine absolute URL in 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 Identifizierungsinformationen in Form vonkey=value
-Paaren zu übertragen.
Beispiele
Erfolgreiches Erstellen einer Ressource
Die folgende PUT
-Anfrage fordert das Erstellen einer Ressource unter example.com/new.html
mit dem Inhalt <p>New File</p>
:
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
-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 Repräsentation erfolgreich mit dem Zustand in 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
BCD tables only load in the browser