--- title: PUT slug: Web/HTTP/Méthode/PUT tags: - HTTP - HTTP method - Reference - Request method translation_of: Web/HTTP/Methods/PUT ---
{{HTTPSidebar}}

La méthode HTTP PUT crée une nouvelle ressource ou remplace une représentation de la ressource ciblée par le contenu de la requête.

La différence entre PUT et POST tient au fait que PUT est une méthode idempotente. Une requête PUT, envoyée une ou plusieurs fois avec succès, aura toujours le même effet (il n'y a pas d'effet de bord). À l'inverse, des requêtes POST successives et identiques peuvent avoir des effets additionnels, ce qui peut revenir par exemple à passer plusieurs fois une commande.

La requête a un corps Oui
Une réponse de succès a un corps Non
{{Glossary("Sûre")}} Non
{{Glossary("Idempotente")}} Oui
{{Glossary("Peut être mise en cache")}} Non
Autorisée dans les  formulaires HTML Non

Syntaxe

PUT /new.html HTTP/1.1

Exemple

Requête

PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16

<p>New File</p>

Réponses

Si la ressource ciblée ne possède pas de représentation courante et que la requête PUT en crée une avec succès, alors le serveur d'origine doit informer l'agent utilisateur en envoyant une réponse{{HTTPStatus("201")}} (Created).

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

Si la ressource ciblée a déjà une représentation et que cette représentation est modifiée avec succès, conformément à l'état de la représentation jointe, alors le serveur d'origine doit envoyer une réponse, que ce soit {{HTTPStatus("200")}} (OK) ou {{HTTPStatus("204")}} (No Content), pour indiquer la réussite de la requête.

HTTP/1.1 204 No Content
Content-Location: /existing.html

Spécifications

Spécification Titre
{{RFC("7231", "PUT", "4.3.4")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Voir aussi