Maison  >  Article  >  interface Web  >  format http lors de la demande de téléchargement de fichiers et de texte dans un message

format http lors de la demande de téléchargement de fichiers et de texte dans un message

一个新手
一个新手original
2017-09-27 10:25:104047parcourir

Le serveur connaît généralement la méthode du corps du message dans la requête en fonction du champ Content-Type dans les en-têtes de la requête (en-têtes)* Encoder *, puis analysez le corps. Ainsi, lorsqu'il s'agit du schéma de données de soumission POST, il comprend deux parties : le type de contenu et la méthode d'encodage du corps du message.

application/x-www-form-urlencoded

La structure de formulaire de formulaire la plus basique, la paire clé-valeur pour transmettre les paramètres de caractères, Le La structure de la demande est la suivante

POST  HTTP/1.1Host: www.demo.comCache-Control: no-cachePostman-Token: 81d7b315-d4be-8ee8-1237-04f3976de032Content-Type: application/x-www-form-urlencodedkey=value&testKey=testValue

Le Content-Type dans l'en-tête de la demande est défini sur application/x-www-form-urlencoded ; les données soumises sont codées dans le corps de la demande selon key1=value1&key2= ; value2, la clé et la valeur doivent être urlEncode;

multipart/form-data

Il s'agit de la méthode de soumission de données la plus courante lors du téléchargement de fichiers. Jetez un œil à la demande. structure

POST  HTTP/1.1Host: www.demo.comCache-Control: no-cachePostman-Token: 679d816d-8757-14fd-57f2-fbc2518dddd9Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="key"value------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="testKey"testValue------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="imgFile"; filename="no-file"Content-Type: application/octet-stream<data in here>------WebKitFormBoundary7MA4YWxkTrZu0gW--

Tout d'abord, le Content-Type dans l'en-tête de la requête est multipart/form-data et une limite sera générée de manière aléatoire pour distinguer each dans le corps de la requête. Data ; Chaque donnée commence par –boundary, suivi d'un saut de ligne. Vous trouverez ci-dessous les informations description du contenu, puis se transforme en 2 lignes, suivies de data; et se termine par –boundary– , dernier saut de ligne

Les descriptions du contenu des données texte et des fichiers et images sont différentes

Paramètres du texte :

Content-Disposition: form-data; name="key"Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bit
Paramètres du fichier :

Content-Disposition: form-data; name="imgFile"; filename="no-file"Content-Type: application/octet-streamContent-Transfer-Encoding: binary
Chaque nouvelle ligne est rn;

application/json

text/xml

text/plain

Le Content-Type de l'en-tête de la requête est défini sur ces valeurs. C'est également très courant, mais généralement dans le développement web front-end, le corps de la requête n'a pas de structure fixe et le flux de données correspondant est directement transmis. ne doit pas nécessairement être la même que les deux méthodes ci-dessus, et elle doit être enveloppée dans une structure fixe, mais les données correspondent à json, xml, text;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn