Полный список кодов состояния HTTP, КОТОРЫЕ НЕ ВКЛЮЧАЮТ ТЕЛЕМ ОТВЕТСТВЕННОСТИ

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

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

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

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

Ответ 1

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

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

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

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

(СЛЕДУЕТ означает, что действительно, они должны, но это НЕ ДОЛЖНО.)

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

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

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