Quel est le champ "Content-Length" dans L'en-tête HTTP?
Qu'est-ce que ça veut dire?
- Nombre D'octets de la chaîne de contenu codée avec l'encodage spécifié dans l'en-tête.
- nombre de Caractères de la chaîne de contenu.
Surtout dans le cas de "Content-Type: application / x-www-form-urlencoded".
8 réponses
The Content-Length entity-header field indicates the size of the entity-body,
in decimal number of OCTETs, sent to the recipient or, in the case of the HEAD
method, the size of the entity-body that would have been sent had the request
been a GET.
, Il n'a pas d'importance ce que le content-type est.
Extension à post ci-dessous .
C'est le nombre d'octets de données dans le corps de la requête ou de la réponse. Le corps est la partie qui vient après la ligne vide sous les en-têtes.
L'en-tête Content-Length
est un nombre indiquant la longueur exacte de L'octet du corps HTTP. Le corps HTTP démarre immédiatement après la première ligne vide trouvée après la ligne de départ et les en-têtes.
Généralement, l'en-tête Content-Length
est utilisé pour HTTP 1.1 afin que la partie destinataire sache quand la réponse actuelle* la connexion peut donc être réutilisée pour une autre requête .
* ...ou request, dans le cas de méthodes de requête qui ont un corps, tel que le courrier, mettre ou PATCH
Sinon, Content-Length
- tête peut être omis et un bloc Transfer-Encoding
l'en-tête peut être utilisé.
Si les deux en-têtes Content-Length
et Transfer-Encoding
sont manquants, la connexion doit être fermée à la fin de la réponse.
Un octet est 8 bits. Content-length est le nombre d'octets que le corps du message représente.
De là :
La Longueur du Contenu de l'entité champ d'en-tête indique la taille du corps d'entité, en nombre décimal D'OCTETs, envoyé à le destinataire ou, dans le cas de la TÊTE de méthode, la taille de la entité qui aurait été envoyé si la demande avait été un GET.
Content-Length = "Content-Length" ":" 1*DIGIT
Un exemple est
Content-Length: 3495
Les Applications doivent utiliser ce champ pour indiquer la longueur de transfert du message-body, à moins que ce soit interdit par les règles dans la section 4.4.
Toute longueur de contenu supérieure à ou égal à zéro est une valeur valide. La Section 4.4 décrit comment déterminer la longueur d'un corps de message si Content-Length n'est pas donné.
Notez que la signification de ce champ est significativement différent de la définition correspondante dans MIME, où il s'agit d'un champ optionnel utilisé dans le " message / corps externe" type de contenu. En HTTP, il devrait être envoyé chaque fois que la longueur du message peut être déterminé avant d'être transféré, sauf si cela est interdit les règles dans la section 4.4.
Mon interprétation est que cela signifie la longueur "sur le fil", c'est-à-dire la longueur du contenu * codé"
À Partir de cette page
L'utilisation la plus courante de poste, de loin, est de soumettre des données de formulaire HTML à CGI script. Dans ce cas, l' Content-Type: l'en-tête est généralement application/x-www-form-urlencoded, et la Longueur du Contenu: en-tête donne la longueur du formulaire codé par URL données (Voici une note sur l'encodage D'URL). Le script CGI reçoit le message corps à travers STDIN, et décode. Voici une soumission de formulaire typique, utilisation de POST:
POST /path/script.cgi HTTP/1.0 From: frog@jmarshall.com User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32
Le champ Content-Length entity-header indique la taille du corps de l'entité, en nombre décimal d'OCTETs, envoyé au destinataire ou, dans le cas de la méthode HEAD, la taille du corps de l'entité qui aurait été envoyé si la requête avait été GET.
Content-Length = "Content-Length" ":" 1*DIGIT
Un exemple est
Content-Length: 3495
Les Applications doivent utiliser ce champ pour indiquer la longueur de transfert du corps du message, sauf si cela est interdit par les règles de la section 4.4.
Toute longueur de contenu supérieure ou égale à zéro est une valeur valide. La section 4.4 décrit comment déterminer la longueur d'un corps de message si une longueur de contenu n'est pas donnée.
Notez que la signification de ce champ est significativement différente de la définition correspondante dans MIME, où il s'agit d'un champ facultatif utilisé dans le type de contenu "message/corps externe". Dans HTTP, il doit être envoyé chaque fois que la longueur du message peut être déterminée avant d'être transféré, sauf si cela est interdit par les règles de l'article 4.4.
Le champ Content-Length entity-header indique la taille du corps de l'entité, en nombre décimal d'OCTETs, envoyé au destinataire ou, dans le cas de la méthode HEAD, la taille du corps de l'entité qui aurait été envoyé si la requête avait été GET.
Content-Length = "Content-Length" ":" 1*CHIFFRES
Un exemple est
Contenu-Longueur: 1024
Les Applications doivent utiliser ce champ pour indiquer la longueur de transfert message du corps.
En PHP, vous utiliseriez quelque chose comme ceci.
header("Content-Length: ".filesize($filename));
Dans le cas de "Content-Type: application / x-www-form-urlencoded", les données codées sont envoyées à l'agent de traitement désigné afin que vous puissiez définir la longueur ou la taille des données que vous allez publier.