HTTP сообщения делятся на запросы клиента серверу и ответы сервера
клиенту.
HTTP-message = Request | Response ; сообщения HTTP/1.1
Сообщения запроса (раздел 5) и ответа (раздел 6) используют
обобщенный формат сообщения RFC 822 [9] для пересылки объектов
(полезной нагрузки сообщения). Оба типа сообщений выглядят
следующим образом: сначала идет начальная строка (start-line),
затем один или несколько полей заголовка (называемых также просто
"заголовки"), затем пустая строка (то есть строка, равная CRLF),
указывающая конец полей заголовка, а затем, возможно, тело
сообщения.
В интересах ошибкоустойчивости, серверам СЛЕДУЕТ игнорировать
все пустые строки, полученные перед строкой запроса
(Request-Line). Другими словами, если сервер читает поток
протокола и в самом начале сообщения получает CRLF, то ему следует
этот CRLF игнорировать.
Обратите внимание: некоторые ошибочные реализации HTTP/1.0
клиентов генерируют дополнительные CRLF после запроса POST.
Стоит вновь повторить, что это явно запрещено нормальной записью
Бекуса-Наура. HTTP/1.1 клиент не должен добавлять дополнительные
CRLF перед запросом и после него.