В каких условиях необходимо закрыть HTTP-соединение?
HTTP не является типом протокола, который имеет «соединения»; это то, что они называют «без гражданства», что означает, что каждый запрос отделен от каждого другого запроса. Вот почему у нас есть такие вещи, как сеансовые куки; люди должны были взломать таким образом, чтобы можно было передавать информацию между запросами.
Теперь, несмотря на то, что они являются отдельными, HTTP 1.1 позволяет клиенту выполнять несколько запросов по одному и тому же соединению TCP / IP (которое, хотя это соединение с HTTP-сервером, находится на другом уровне в стеке TCP / IP) , Запросы будут по-прежнему раздельными, но вам не нужно открывать новое сетевое подключение. Это позволяет повысить эффективность, поскольку открытие сетевого соединения может быть дорогостоящим.
Если вы хотите воспользоваться этим, просмотрите заголовки в запросе и ответе. Если в запросе используется версия HTTP меньше 1,1, или есть заголовок, который говорит « Connection: close
, тогда соединение должно исчезнуть после обработки текущего запроса. В противном случае, как только он будет очищен (обычно, читая все данные предыдущего запроса), его можно использовать повторно.