В каких условиях необходимо закрытие HTTP-соединения? - PullRequest
1 голос
/ 17 июля 2010

В каких условиях необходимо закрытие HTTP-соединения?

1 Ответ

10 голосов
/ 17 июля 2010

HTTP не тот тип протокола, который должен иметь «соединения»;это то, что они называют «без сохранения состояния», то есть каждый запрос отделен от любого другого запроса.Вот почему у нас есть такие вещи, как сессионные куки;людям приходилось взламывать таким образом, чтобы информация могла передаваться между запросами.

Теперь, хотя они и разделены, HTTP 1.1 позволяет клиенту делать несколько запросов через одно и то же соединение TCP / IP (чтоХотя это соединение с HTTP-сервером, оно находится на совершенно ином уровне в стеке TCP / IP).Запросы по-прежнему будут отдельными, но вам не нужно открывать новое сетевое соединение.Это позволяет повысить эффективность, поскольку открытие сетевого подключения может быть дорогостоящим.

Если вы хотите воспользоваться этим, посмотрите заголовки в запросе и ответе.Если в запросе используется версия HTTP менее 1.1, или имеется заголовок, который говорит Connection: close, то соединение должно прекратиться после обработки текущего запроса.В противном случае, как только он будет очищен (обычно путем чтения всех данных из предыдущего запроса), его можно использовать повторно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...