Метки: Http persistent connection, http persistent connection java example, http persistent connections.
HTTP |
Persistence · Сжатие · HTTPS |
Методы |
OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT · PATCH |
Заголовки |
Cookie · ETag · Location · Referer |
DNT · X-Forwarded-For |
Коды состояния |
301 Moved permanently |
302 Found |
303 See Other |
403 Forbidden |
404 Not Found |
HTTP persistent connection, также называемые HTTP keep-alive, или повторное использование соединений HTTP — использование одного TCP соедниения для отправки и получения множественных HTTP запросов и ответов вместо открытия нового соединения для каждой пары запрос-ответ.
При работе по протоколу HTTP 1.0 с подобным типом соединений нет официальной спецификации. По сути, это дополнение к существующему протоколу. Если браузер команду keep-alive, то он дополняет заголовок запроса следующим:
Connection: Keep-Alive
Затем, когда сервер получает такой запрос и генерирует ответ, то он также добавляет в заголовок ответа
Connection: Keep-Alive
После этого соединение не разрывается, а остаётся открытым. Когда клиент отправляет ещё один запрос, то он использует это же соединение. Так будет продолжаться до тех пор, пока клиент или сервер не решат, что обмен окончен, и одна из сторон завершает соединение.
При работе по HTTP 1.1 все соединения считаются постоянными, если не обозначено иное.[1] При этом постоянные соединения не используют сообщения keepalive, а просто позволяют передачу множественных запросов в одном и том же соединении. Тем не менее, время ожидания по умолчанию в httpd для Apache 2.0[2] составляет всего 15 секунд, а для Apache 2.2 лишь 5 секунд.[3] Преимуществом короткого таймаута является возможность быстрее передать клиенту множественным соединением несколько компонентов веб-страницы, а не более долгим методом инициации нескольких серверных процессов или потоков.[4]
Tags: Http persistent connection, http persistent connection java example, http persistent connections.