Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. Méthodes de requête
  5. POST

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 EnglishAlways switch to English

Méthode de requête POST

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode HTTPPOST envoie des données au serveur. Le type du corps de la requête est indiqué par l'en-têteContent-Type.

La différence entrePUT etPOST est quePUT estidempotente : l'appeler une fois ou plusieurs fois successivement ne change rien (il n'y a pas d'effets secondaires). Des requêtesPOST identiques successives peuvent avoir des effets supplémentaires, comme créer la même commande plusieurs fois.

Lesformulaires HTML envoient généralement des données en utilisantPOST, ce qui entraîne habituellement une modification côté serveur.Pour les formulaires HTML, le format/l'encodage du contenu du corps est déterminé par l'attributenctype de l'élément<form> ou l'attributformenctype des éléments<input> ou<button>.L'encodage peut être l'un des suivants :

  • application/x-www-form-urlencoded : les clés et valeurs sont encodées sous forme de couples clé-valeur séparés par un esperluette (&), avec un signe égal (=) entre la clé et la valeur (par exemple,first-name=Frida&last-name=Kahlo).Les caractères non alphanumériques dans les clés et valeurs sontencodés en pourcentage : c'est pourquoi ce type n'est pas adapté aux données binaires, il faut utilisermultipart/form-data pour cela.
  • multipart/form-data : chaque valeur est envoyée comme un bloc de données (« partie du corps »), avec un séparateur défini par l'agent utilisateur (par exemple,boundary="delimiter12345") entre chaque partie.Les clés sont décrites dans l'en-têteContent-Disposition de chaque partie ou bloc de données.
  • text/plain

Quand la requêtePOST est envoyée suite à un appel àfetch(), ou pour toute autre raison qu'un formulaire HTML, le corps peut être de n'importe quel type.Comme décrit dans la spécification HTTP 1.1,POST est conçu pour permettre une méthode uniforme couvrant les fonctions suivantes :

  • Annotation de ressources existantes
  • Publication d'un message sur un forum, un groupe de discussion, une liste de diffusion ou un groupe d'articles similaire
  • Ajout d'un·e nouvel·le utilisateur·ice via un formulaire d'inscription
  • Fourniture d'un bloc de données, comme le résultat de la soumission d'un formulaire, à un processus de traitement de données
  • Extension d'une base de données par une opération d'ajout
La requête a un corpsOui
La réponse de succès a un corpsOui
SûreNon
IdempotenteNon
Mis en cacheSeulement si une information de péremption est incluse
Autorisée dansles formulaires HTMLOui

Syntaxe

http
POST <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êteHost.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 exemplehttp://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 pairesclé=valeur.

Exemple

Soumission de formulaire encodé en URL

Un formulaire utilisant l'encodage de contenuapplication/x-www-form-urlencoded (par défaut) envoie une requête dont le corps contient les données du formulaire sous forme de pairesclé=valeur, chaque paire étant séparée par un symbole&, comme ci-dessous :

http
POST /test HTTP/1.1Host: exemple.frContent-Type: application/x-www-form-urlencodedContent-Length: 27field1=value1&field2=value2

Soumission de formulaire multipart

L'encodagemultipart/form-data est utilisé lorsqu'un formulaire inclut des fichiers ou beaucoup de données.Le corps de la requête sépare chaque partie du formulaire à l'aide d'une chaîne de séparation (boundary en anglais).Exemple de requête dans ce format :

http
POST /test HTTP/1.1Host: exemple.frContent-Type: multipart/form-data;boundary="delimiter12345"--delimiter12345Content-Disposition: form-data; name="field1"value1--delimiter12345Content-Disposition: form-data; name="field2"; filename="exemple.txt"value2--delimiter12345--

L'en-têteContent-Disposition indique comment les données du formulaire doivent être traitées, en précisant le champname et éventuellementfilename.

Spécifications

Specification
HTTP Semantics
# POST

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp