--- title: PUT slug: Web/HTTP/Méthode/PUT tags: - HTTP - HTTP method - Reference - Request method translation_of: Web/HTTP/Methods/PUT ---
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 |
PUT /new.html HTTP/1.1
PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 16 <p>New File</p>
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écification | Titre |
---|---|
{{RFC("7231", "PUT", "4.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |