Что делать, если HTTP Content-Length отличается от фактического размера тела? - PullRequest
8 голосов
/ 29 ноября 2011

Если HTTP-сервер отправляет ответ с заголовком Content-Length и телом сообщения, которое немного больше этой длины, каков приемлемый способ обработки этого несоответствия?Должен ли я молча игнорировать дополнительные данные?Я не вижу этого в HTTP / 1.1 RFC, он просто говорит, что он всегда должен совпадать.Просто кажется, что могут быть какие-то ошибочные серверы, которые не понимают это правильно.

Спасибо.

1 Ответ

0 голосов
/ 29 ноября 2011

Длина определяется полем заголовка Content-Length (или Chunked Encoding, или закрытием соединения).

Если длина не «совпадает», это означает, что дополнительные байты принадлежат следующему сообщению. Если эти дополнительные байты не представляют собой дополнительное сообщение HTTP, это ошибка связи. Просто закройте соединение и сообщите об ошибке.

(см. https://greenbytes.de/tech/webdav/rfc7230.html#message.body.length)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...