type mdn headers definicion data chrome http-headers

http-headers - mdn - http headers firefox



¿Cuál es el campo "Contenido-Longitud" en el encabezado HTTP? (8)

Desde esta pagina

El uso más común de POST, con diferencia, es enviar datos de formularios HTML a scripts CGI. En este caso, el encabezado Content-Type: generalmente es application / x-www-form-urlencoded, y el encabezado Content-Length: indica la longitud de los datos del formulario con codificación URL (aquí hay una nota sobre la codificación de URL). La secuencia de comandos CGI recibe el cuerpo del mensaje a través de STDIN y lo descodifica. Aquí está una presentación de formulario típico, utilizando POST:

POST /path/script.cgi HTTP/1.0 From: [email protected] User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32

Qué significa eso?

  1. Recuento de bytes de la cadena de contenido codificada con la codificación especificada en el encabezado.
  2. Número de caracteres de la cadena de contenido.

Especialmente en el caso de "Content-Type: application / x-www-form-urlencoded".


El campo del encabezado de la entidad Content-Length indica el tamaño del cuerpo de la entidad, en número decimal de OCTET, enviado al destinatario o, en el caso del método HEAD, el tamaño del cuerpo de la entidad que se habría enviado si hubiera La solicitud ha sido un GET.

Content-Length = "Content-Length" ":" 1 * DIGIT

Un ejemplo es

Contenido-Longitud: 1024

Las aplicaciones DEBEN utilizar este campo para indicar la longitud de transferencia del cuerpo del mensaje.

En PHP usarías algo como esto.

header("Content-Length: ".filesize($filename));

En el caso de "Content-Type: application / x-www-form-urlencoded", los datos codificados se envían al agente de procesamiento designado para que pueda establecer la longitud o el tamaño de los datos que publicará.


El encabezado Content-Length es un número que denota la longitud exacta del byte del cuerpo HTTP. El cuerpo de HTTP comienza inmediatamente después de la primera línea vacía que se encuentra después de la línea de inicio y los encabezados.

Generalmente, el encabezado Content-Length se usa para HTTP 1.1 para que la parte receptora sepa cuándo ha finalizado la respuesta actual * , por lo que la conexión se puede reutilizar para otra solicitud .

* ... o solicitar, en el caso de los métodos de solicitud que tienen un cuerpo, como POST, PUT o PATCH

Alternativamente, el encabezado Content-Length se puede omitir y se puede usar un encabezado Transfer-Encoding fragmentado.

Si faltan los encabezados Content-Length y Transfer-Encoding , al final de la respuesta, la conexión debe cerrarse.


Es el número de bytes de datos en el cuerpo de la solicitud o respuesta. El cuerpo es la parte que viene después de la línea en blanco debajo de los encabezados.


Según la rfc2616 :

El campo del encabezado de la entidad Content-Length indica el tamaño del cuerpo de la entidad, en número decimal de OCTET, enviado al destinatario o, en el caso del método HEAD, el tamaño del cuerpo de la entidad que se habría enviado si hubiera La solicitud ha sido un GET.

Content-Length = "Content-Length" ":" 1*DIGIT

Un ejemplo es

Content-Length: 3495

Las aplicaciones DEBEN usar este campo para indicar la longitud de transferencia del cuerpo del mensaje, a menos que esto esté prohibido por las reglas en la sección 4.4.

Cualquier Contenido-Longitud mayor o igual a cero es un valor válido. La sección 4.4 describe cómo determinar la longitud de un cuerpo del mensaje si no se proporciona una longitud de contenido.

Tenga en cuenta que el significado de este campo es significativamente diferente de la definición correspondiente en MIME, donde es un campo opcional utilizado dentro del tipo de contenido "mensaje / cuerpo externo". En HTTP, DEBE enviarse siempre que se pueda determinar la longitud del mensaje antes de transferirlo, a menos que esto esté prohibido por las reglas en la sección 4.4.


Un octeto es de 8 bits. La longitud del contenido es el número de octetos que representa el cuerpo del mensaje.


rfc2616

El campo del encabezado de la entidad Content-Length indica el tamaño del cuerpo de la entidad, en número decimal de OCTET, enviado al destinatario o, en el caso del método HEAD, el tamaño del cuerpo de la entidad que se habría enviado si hubiera La solicitud ha sido un GET.

Content-Length = "Content-Length" ":" 1*DIGIT

Un ejemplo es

Content-Length: 3495

Las aplicaciones DEBEN usar este campo para indicar la longitud de transferencia del cuerpo del mensaje, a menos que esto esté prohibido por las reglas en la sección 4.4 .

Cualquier Contenido-Longitud mayor o igual a cero es un valor válido. La sección 4.4 describe cómo determinar la longitud de un cuerpo del mensaje si no se proporciona una longitud de contenido.

Tenga en cuenta que el significado de este campo es significativamente diferente de la definición correspondiente en MIME, donde es un campo opcional utilizado dentro del tipo de contenido "mensaje / cuerpo externo". En HTTP, DEBE enviarse siempre que se pueda determinar la longitud del mensaje antes de transferirlo, a menos que esto esté prohibido por las reglas en la sección 4.4.

Mi interpretación es que esto significa la longitud "en el cable", es decir, la longitud del contenido * codificado "


rfc2616

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.

No importa cuál sea el tipo de contenido.

Extensión en el post de abajo .