Если сервер придерживается HTTP-соединения: близкий заголовок отправляется от клиента?

У меня есть клиент HTTP, который устанавливает заголовок Соединения на следующее значение, когда я выполняю запрос:

   Connection: close

Однако, когда сервер отправляет ответ, он устанавливает заголовок на Активный:

   Connection: Keep-Alive

Это кажется интуитивно неправильным мне, и я задаюсь вопросом, как клиент должен обработать такой ответ с сервера? Также, почему сервер ответил бы Активный, когда клиент попросил соединение быть закрытым, действительно ли это допустимо?

Согласно RFC HTTP:

"HTTP/1.1 определяет "близкую" опцию соединения для отправителя, чтобы сигнализировать, что соединение будет закрыто после завершения ответа. Например,

   Connection: close

или в запросе или в полях заголовка ответа указывает, что соединение НЕЛЬЗЯ считать 'персистентным' (разделите 8.1) после того, как текущий запрос/ответ завершен."

8
задан alphadevx 6 August 2010 в 14:36
поделиться

2 ответа

Ничего страшного. Вы говорите серверу, что не поддерживаете постоянные соединения, и он говорит вам, что поддерживает. Любая из сторон полностью допустима при закрытии соединения - это скорее сообщение о том, что обе поддерживают, а не команда ВЫ ДОЛЖНЫ ЗАКРЫТЬ ЭТО СОЕДИНЕНИЕ.

13
ответ дан 5 December 2019 в 08:50
поделиться

Клиент говорит я закрою соединение после завершения текущего запроса/ответа, или, другими словами, говорит, что вы не поддерживаете постоянные соединения. То есть, он не говорит серверу закрыть соединение. Сервер отвечает, что он поддерживает постоянные соединения (keep-alive).

Поскольку вы сказали серверу, что не поддерживаете постоянное соединение, вам следует закрыть соединение, когда вы прочитаете ответ.

6
ответ дан 5 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: