Назад | Перейти на главную страницу

Что означает «Соединение: закрыть» при использовании в ответном сообщении?

Когда клиент использует Connection: close заголовок в сообщении запроса, это означает, что он хочет, чтобы сервер закрыл соединение после отправки ответного сообщения.

Я думал, что этот заголовок используется только в сообщениях запроса, но я заметил, что он также используется в сообщениях ответа. Например:

Что означает этот заголовок при использовании в ответном сообщении?

Я думаю, это означает, что сервер закроет соединение после отправки ответа сообщения (даже если клиент использовал Connection: keep-alive заголовок в своем сообщении запроса). Я прав?

Да, это правильно. Сервер может просто сказать: «Я не поддерживаю ваш запрос сохранения активности и просто закрою соединение, когда я закончу».

Из RFC 2616, раздел 14.10:

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

   Connection: close

в полях заголовка запроса или ответа указывает, что соединение НЕ ДОЛЖНО считаться «постоянным» (раздел 8.1)
после завершения текущего запроса / ответа.

Приложения HTTP / 1.1, которые не поддерживают постоянные соединения, ДОЛЖНЫ включать опцию «закрыть» соединение в каждое сообщение.