Раздел 14.13 спецификации HTTP / 1.1 подробно описывает заголовок Content-Length и говорит следующее:
Приложения ДОЛЖНЫ использовать это поле для указания длины передачиТело сообщения, если только это не запрещено правилами в разделе 4.4.
Слово «СЛЕДУЕТ» имеет очень специфическое значение в RFC :
ДОЛЖНО Это слово или прилагательное "РЕКОМЕНДУЕМЫЕ" означают, что могут существовать веские причины в определенных обстоятельствах игнорировать конкретный предмет, но все значения должны быть поняты и тщательно взвешены перед выбором другого курса.1015 *
Таким образом, вы не всегда можете видеть длину содержимого.Как правило, вы не можете увидеть его для любого контента, который генерируется динамически, поскольку это может быть слишком дорого для обслуживания исследовательского запроса HEAD.Например, запрос HEAD к Apache для статического файла будет иметь Content-Length, но запрос для сценария PHP может не иметь его.
Например, попробуйте этот самый веб-сайт ...
telnet stackoverflow.com 80
HEAD / HTTP/1.0
Host:stackoverflow.com
HTTP/1.1 200 OK
Date: Mon, 11 Jan 2016 10:58:25 GMT
Content-Type: text/html; charset=utf-8
Connection: close
Set-Cookie: __cfduid=c2eb4742a1e02d89cab0402220736c0bd1452509905; expires=Tue, 10-Jan-17 10:58:25 GMT; path=/; domain=.stackoverflow.com; HttpOnly
Cache-Control: public, no-cache="Set-Cookie", max-age=36
Expires: Mon, 11 Jan 2016 10:59:02 GMT
Last-Modified: Mon, 11 Jan 2016 10:58:02 GMT
Vary: *
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 487e80bc-3783-4cfd-d883-a3bc84253234
Set-Cookie: prov=8dc24306-c067-45eb-bf5d-cffa855c2b03; domain=.stackoverflow.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Server: cloudflare-nginx
CF-RAY: 26303c15f8e035a2-LHR
Контентная длина отсутствует.