Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Méthode de requête PUT

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

La différence entre PUT et POST est que PUT est idempotente : l'appeler une fois ou plusieurs fois successivement ne change rien (il n'y a pas d'effets secondaires).

La requête a un corps Oui
La réponse de succès a un corps Non
Sûre Non
Idempotente Oui
Mis en cache Non
Autorisée dans les formulaires HTML Non

Syntaxe

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

Identifie la ressource cible de la requête lorsqu'elle est combinée avec l'information fournie dans l'en-tête Host. Il s'agit d'un chemin absolu (par exemple /chemin/vers/fichier.html) dans les requêtes vers un serveur d'origine, et d'une URL absolue dans les requêtes vers les serveurs mandataires (proxies) (par exemple http://www.exemple.fr/chemin/vers/fichier.html).

<query> Facultatif

Un fragment de requête optionnel précédé d'un point d'interrogation ?. Souvent utilisé pour transmettre des informations sous la forme de paires clé=valeur.

Exemple

Création réussie d'une ressource

La requête PUT suivante demande la création d'une ressource à l'adresse exemple.fr/nouveau.html avec le contenu <p>Nouveau fichier</p> :

http
PUT /nouveau.html HTTP/1.1
Host: exemple.fr
Content-type: text/html
Content-length: 16

<p>Nouveau fichier</p>

Si la ressource cible ne possède pas de représentation courante et que la requête PUT en crée une avec succès, le serveur d'origine doit envoyer une réponse 201 Created :

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

Si la ressource cible possède déjà une représentation et que celle-ci est modifiée avec succès selon l'état transmis dans la requête, le serveur d'origine doit envoyer soit une réponse 200 OK, soit une réponse 204 No Content pour indiquer la réussite de la requête :

http
HTTP/1.1 204 No Content
Content-Location: /existant.html

Spécifications

Specification
HTTP Semantics
# PUT

Compatibilité des navigateurs

Le navigateur n'utilise pas la méthode PUT pour les actions initiées par l'utilisateur·ice, donc la « compatibilité navigateur » ne s'applique pas. Les développeur·euse·s peuvent définir cette méthode de requête avec fetch().

Voir aussi