web-dev-qa-db-fra.com

Que signifie le corps de la requête http?

Lorsque vous lisez des informations sur POST et obtenez des méthodes ici , il existe une déclaration du type "lorsqu’elle est utilisée, elle utilise le corps de la requête HTTP. Que signifie-t-il" corps de la requête HTTP "? 

33

Les données de corps HTTP sont les octets de données transmis dans un message de transaction HTTP suivant immédiatement les en-têtes, le cas échéant (dans le cas de HTTP/0.9, aucun en-tête n'est transmis).

La plupart des requêtes HTTP sont des requêtes GET sans corps. Cependant, la simulation de requêtes avec des corps est importante pour insister correctement sur le code proxy et pour tester différents hooks travaillant avec de telles requêtes. La plupart des requêtes HTTP avec corps utilisent la méthode de requête POST ou PUT. 

Corps du message

La partie corps du message est facultative pour un message HTTP, mais si elle est disponible, elle est utilisée pour transporter le corps d'entité associé à la demande ou à la réponse. Si un corps d'entité est associé, les lignes d'en-tête Content-Type et Content-Length spécifient généralement la nature du corps associé.

Un corps de message est celui qui contient les données de requête HTTP réelles (y compris les données de formulaire et téléchargées, etc.) et les données de réponse HTTP du serveur (fichiers, images, etc.). Voici un simple contenu du corps du message:

<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Pour plus de détails sur les messages et les corps HTTP, consultez lien w3org

39
Mazzu

Les corps peuvent être divisés en deux catégories:

  1. Corps à ressource unique, composés d'un seul fichier, définis par les deux en-têtes: Content-Type et Content-Length .
  2. Corps à ressources multiples , constitué d'un corps en plusieurs parties, chacune contenant un bit d'information différent. Ceci est généralement associé à HTML Forms .

Le <form> suivant:

<form action="http://localhost:8000/" method="post" enctype="multipart/form-data">
  <label>Name: <input name="myTextField" value="Test"></label>
  <label><input type="checkbox" name="myCheckBox"> Check</label>
  <label>Upload file: <input type="file" name="myFile" value="test.txt"></label>
  <button>Send the file</button>
</form>

enverra ce corps de message HTTP:

POST / HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=---------------------------8721656041911415653955004498
Content-Length: 465

-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myTextField"

Test
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myCheckBox"

on
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myFile"; filename="test.txt"
Content-Type: text/plain

Simple file.
-----------------------------8721656041911415653955004498--

Sources:

0
August Jelemson