Как обрабатывать сообщения запроса без заголовков Transfer-Encoding и Content-Length?

Я реализую веб-сервер, и мне было интересно, как обрабатывать сообщения запроса с телом сообщения, но без заголовков Transfer-Encoding или Content-Length (при условии, что метод запроса не является HEAD или CONNECT, конечно).

Согласно RFC 7230, § 3.3.3. Длина тела сообщения:

Длина тела сообщения определяется одним из следующих (в порядке приоритета):

[…]

  1. Если это сообщение-запрос и ни одно из вышеперечисленных условий не соответствует действительности, то длина тела сообщения равна нулю (тело сообщения отсутствует).

Нахожусь ли я в этом случае и, следовательно, должен ли я считать, что длина тела сообщения равна нулю (хотя на самом деле она не равна нулю)?


person Maggyero    schedule 03.05.2019    source источник
comment
В этом случае тело сообщения следует отбросить, согласно RFC.   -  person shaochuancs    schedule 05.05.2019
comment
@shaochuancs Хорошо, по крайней мере, у нас обоих одинаковое понимание.   -  person Maggyero    schedule 05.05.2019


Ответы (1)


Спецификация определяет это. Если нет длины содержимого или фрагментированного кодирования, все, что следует за разделом заголовка, является следующим запросом (возможно, искаженным).

person Julian Reschke    schedule 12.11.2019