«0» в GET-ответе.что это значит? - PullRequest
1 голос
/ 12 ноября 2010

Я попробовал это в своем клиенте tbunet Ubuntu:

> telnet www.google.com 80
> GET / HTTP/1.1

В ответ я получил несколько строк HTML в консоли.Я заметил одну вещь в конце последней строки, сразу после закрытия тега / скрипта.Есть символ '0' ... что это значит?

Ответы [ 2 ]

5 голосов
/ 12 ноября 2010

В начале ответа вы увидите:

Transfer-Encoding: chunked

1000

HTTP chunked Transfer Encoding означает, что сервер заранее не знает, насколько большим будет Content-Length ответа, поэтому он будет давать вам его за раз. Этот тип ответа типичен для серверных сценариев, когда веб-сервер хочет начать отсылку результатов сценария пользователю до его полного завершения.

Таким образом, 1000 является признаком того, что следует блок из 4096 (0x1000) байтов: <!doctype html><html><head><meta.... После 1000 байтов вы получите еще один заголовок чанка (в моем запросе) f65, что означает еще 3941 байт. После этого cc0 (еще 3264 байта) и, наконец, 0, что является сигналом того, что ответ завершен.

0 голосов
/ 12 ноября 2010

Конец файла, EOF.

...