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

http
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 von key=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>:

http
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
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
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

Siehe auch