Как определить длину данных содержимого из кодированной части, если заголовок HTTP не отправлен - PullRequest
3 голосов
/ 08 февраля 2011

Как определить длину данных содержимого, если заголовок не отправлен, и вместо этого вы получаете Transfer-Encoding: chunked заголовок?

1 Ответ

10 голосов
/ 08 февраля 2011

При кодировании по частям заголовок Content-Length не будет. Итак, после того, как вы прочитали заголовки и пару CRLF, которые отмечают конец заголовков, вы готовы прочитать первый блок. Каждому фрагменту данных предшествует собственный мини-заголовок - длина в шестнадцатеричном формате, за которой следует CRLF. И есть еще один CRLF после полезной нагрузки, перед мини-заголовком следующего блока. За фрагментом также могут следовать некоторые дополнительные трейлеры. Конец сообщения обозначается фрагментом нулевой длины.

Подробные сведения можно найти в HTTP RFC, RFC2616.

...