8 ответов:
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.не имеет значения, какой тип контента.
Это количество байтов данных в тело запроса или ответа. Тело-это часть, которая идет после пустой строки под заголовками.
The
Content-Lengthзаголовок-это число, обозначающее точную длину байта тела HTTP. Тело HTTP запускается сразу после первой пустой строки, найденной после начальной строки и заголовков.вообще используется для HTTP 1.1, так что принимающая сторона знает, когда текущий ответ* закончил, так что соединение может быть повторно использовано для другого запроса.
* ...или запрос, в случае методов запроса, которые имеют тело, например POST, PUT или PATCH
кроме того,
Content-Lengthзаголовок может быть опущен и фрагментированTransfer-Encodingзаголовок можно использовать.если как
Content-LengthиTransfer-Encodingзаголовки отсутствуют, то в конце ответа соединение должно быть закрыто.
поле content-Length entity-header указывает размер объекта-тела, в десятичном числе октетов, отправленных в получатель или, в случае Головной метод, размер сущность-тело, которое было бы отправлено если бы просьба была получена.
Content-Length = "Content-Length" ":" 1*DIGITпример
Content-Length: 3495приложения должны использовать это поле для укажите длину передачи тело сообщения, если это запрещено правилами в 4.4.
любая длина содержимого больше или равное нулю-допустимое значение. Раздел 4.4 описывает, как определить длина тела сообщения, если a Content-длина не указана.
заметим, что значение этого поля значительно отличается от соответствующее определение в MIME, где используется необязательное поле внутри " сообщение / внешнее тело" тип содержимого. В HTTP это должно быть отправляется всякий раз, когда длина сообщения может быть определено до того, чтобы быть передается, если это не запрещено по правилам в разделе 4.4.
моя интерпретация заключается в том, что это означает длину "на проводе", т. е. длину *закодированного" контента
наиболее распространенное использование POST, безусловно, это представить данные HTML-формы в CGI файлы сценариев. В этом случае Тип содержимого: заголовок, как правило, приложение / x-www-form-urlencoded, и содержание-длина: заголовок дает длина URL-кодированной формы данные (вот примечание по URL-кодированию). Сценарий CGI получает сообщение тело через STDIN, и расшифровывает его. Вот типичная форма подачи, с помощью Сообщение:
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
по словам spec:
поле content-Length entity-header указывает размер тела Сущности в десятичном числе октетов, отправленных получателю, или, в случае метода HEAD, размер тела сущности, который был бы отправлен, если бы запрос был GET.
Content-Length = "Content-Length" ":" 1*DIGITпример
Content-Length: 3495приложения должны использовать это поле для указания длины передачи тела сообщения, если только это запрещено правилами раздела 4.4.
допустимым значением является любая длина содержимого, превышающая или равная нулю. В разделе 4.4 описывается, как определить длину тела сообщения, если длина содержимого не задана.
обратите внимание, что значение этого поля значительно отличается от соответствующего определения в MIME, где это необязательное поле, используемое в типе контента "сообщение/внешнее тело". В HTTP он должен отправляться всякий раз, когда сообщение длина может быть определена до передачи, если это не запрещено правилами в разделе 4.4.
поле content-Length entity-header указывает размер тела Сущности в десятичном числе октетов, отправленных получателю, или, в случае метода HEAD, размер тела сущности, который был бы отправлен, если бы запрос был GET.
Content-Length = "Content-Length"": "1*цифра
пример
Content-Length: 1024
приложения должны использовать это поле для указания длина передачи тела сообщения.
в PHP вы бы использовали что-то вроде этого.
header("Content-Length: ".filesize($filename));в случае "Content-Type: application/x-www-form-urlencoded" закодированные данные отправляются назначенному агенту обработки, чтобы вы могли установить длину или размер данных, которые вы собираетесь опубликовать.
Comments