Полный список кодов состояния HTTP, которые не включают в себя тело ответа - PullRequest
13 голосов
/ 25 декабря 2011

Мне начинал нравиться HTTP, пока я не обнаружил, что некоторые коды состояния like 304 не содержат тела сообщения и заканчиваются CRLF.

Где полный список?Пока я получил: 100-199, 204 и 304.Есть ли другие?

РЕДАКТИРОВАТЬ : Нет, не в соответствии со стандартом.Спасибо за ответ.

Меня беспокоит разделение сообщений с постоянными соединениями.т.е. где останавливается одно HTTP-сообщение и начинается следующее.

1 Ответ

17 голосов
/ 25 декабря 2011

Тело является необязательным для всех кодов ошибок 4xx:

За исключением ответа на запрос HEAD, сервер СЛЕДУЕТ включать в себя объект, содержащий объяснение ситуации с ошибкой и является ли это временным или постоянным условием.

То же самое для 5xx:

За исключением ответа на запрос HEAD, сервер ДОЛЖЕН включать объект, содержащий объяснение ситуации с ошибкой ...

(ДОЛЖНО означает, что на самом деле они должны, но это НЕ ДОЛЖНО.)

Насколько я могу судить, сообщения 1xx не содержат тела. 201 (в дополнение к 204 и 205) не обязательно должны иметь тело. 3xx - это смешанный пакет, но для многих из них он не является обязательным.

Источник: HTTP / 1.1: Определения кодов состояния .

Правила для информации о длине сообщения описаны в HTTP-сообщении - 4.4 Длина сообщения . Это не совсем тривиально.

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