El campo de entidad de cabecera Content-Length indica el tamaño de la entidad y el cuerpo, en el número decimal de octetos, enviado al destinatario o, en el caso del método HEAD, el tamaño del cuerpo de entidad que se habría enviado si la solicitud hubiera sido un GET.
Content-Length = "Content-Length" ":" 1 * DIGIT
Un ejemplo es
Content-Length: 1024
aplicaciones deben utilizar este campo para indicar la longitud de transferencia del cuerpo del mensaje.
En PHP utilizaría algo como esto.
header("Content-Length: ".filesize($filename));
En caso de "Content-Type: application/x-www-form-urlencoded" los datos codificados se envía al agente procesador designado para que pueda establecer la longitud o el tamaño de los datos que se va a enviar.
Combina esta respuesta con la respuesta de Tom Cabanski y tienes toda la información que necesitas. En el caso del texto, puede contar la cantidad de caracteres, ya que ASCII tiene 8 bits. – hcpl
@hcpl: pero el texto no siempre es siempre ASCII, también ASCII es de 7 bits, no 8. –
Reemplace ASCII con la codificación que esté utilizando y busque el número de bits que la codificación requiere. Para la respuesta de 7 contra 8 bits; Originalmente era de 7 bits, así que tienes razón de nuevo. Pero hoy se usan 8 bits en la mayoría de los casos (si no en todos) debido a la forma en que se organiza la memoria de la computadora. editar: Releyendo mi respuesta, veo hacia dónde vas. Debería reformular mi comentario original. – hcpl