Я играю с написанием собственного HTTP-клиента и сервера и хочу, чтобы клиент включил в запрос необязательный элемент. На стороне сервера я хочу прочитать все тело перед отправкой ответа HTTP. Мой вопрос на сервере, как я знаю, что я прочитал все тело?
Хотя в этом случае я управляю как клиентом, так и сервером, я ищу "стандартный" подход. Однако, поскольку Content-Length является необязательным, я хочу метод, который этого не требует. Если клиент закрывает соединение, легко прочитать все доступные данные, однако клиент должен поддерживать соединение открытым, чтобы ждать ответа, поэтому этот метод не работает.
Все, что я могу думать, что мне осталось, - это знание формата тела и обнаружение терминатора (например, </HTML>
). В идеале я не хочу требовать этого знания.
Есть ли подход, который я пропускаю?