Подтвердить что ты не робот

Требуется ли заголовок Content-Length для ответа HTTP/1.0?

Требуется ли заголовок Content-Length для ответа HTTP/1.0? Спецификация HTTP указывает, что она требуется для запроса, но ничего не говорит об ответе:

http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#Content-Length

Допустимое значение поля Content-Length требуется для всех HTTP/1.0 запрашивать сообщения, содержащие тело объекта.

Если для ответа не требуется, как клиент считывает ответ, когда он больше 1 МБ?

4b9b3361

Ответ 1

В разделе 10.4 спецификации (к которой вы привязаны) ничего не говорится о требованиях к самим ответам, но вместо этого ссылки на раздел 7.2.2, который указывает, что сервер может указывать длину ответа, содержащего тело объекта, на

  • отправка заголовка Content-Length или
  • закрытие соединения при отправке всего ответа.

В разделе 7.2 говорится, что ответы на запросы HEAD и ответы 1xx, 204 или 304 не должны включать тело объекта, и поэтому не нужно включать заголовок Content-Length; и

Все остальные ответы должны включать в себя тело субъекта или поле заголовка Content-Length, заданное с нулевым значением (0).

Итак, чтобы ответить на вопрос: когда не получено Content-Length, клиент продолжает читать, пока сервер не закроет соединение.