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 ist, dass PUT idempotent ist: es macht keinen Unterschied, ob man die Methode einmal oder mehrmals hintereinander aufruft (es gibt keine Nebeneffekte).

Anfrage hat Inhalt Ja
Erfolgreiche Antwort hat Inhalt Kann
Sicher Nein
Idempotent Ja
Zwischenspeicherbar Nein
Erlaubt in HTML-Formularen Nein

Syntax

http
PUT <request-target>["?"<query>] HTTP/1.1
<request-target>

Identifiziert die Zielressource der Anfrage in Kombination mit den Informationen, die im Host-Header bereitgestellt werden. Dies ist ein absoluter Pfad (z.B. /path/to/file.html) bei Anfragen an einen Ursprungs-Server und eine absolute URL bei Anfragen an Proxies (z.B. http://www.example.com/path/to/file.html).

<query> Optional

Eine optionale Abfragekomponente, die durch ein Fragezeichen ? eingeleitet wird. Wird oft verwendet, um identifizierende Informationen in Form von key=value Paaren zu transportieren.

Beispiele

Eine Ressource erfolgreich erstellen

Die folgende PUT-Anfrage verlangt 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>

Falls die Zielressource keine aktuelle Repräsentation hat und die PUT-Anfrage erfolgreich eine erstellt, muss der Ursprungs-Server eine 201 Created Antwort senden:

http
HTTP/1.1 201 Created
Content-Location: /new.html

Falls die Zielressource eine aktuelle Repräsentation hat und diese erfolgreich mit dem Zustand der Anfrage modifiziert wird, muss der Ursprungs-Server 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

Der Browser verwendet die PUT-Methode nicht für durch den Benutzer initiierte Aktionen, daher gilt "Browser-Kompatibilität" nicht. Entwickler können diese Anforderungsmethode mit fetch() festlegen.

Siehe auch