- Постоянное HTTP-соединение
-
HTTP Постоянное соединение · Сжатие · 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-соединение (англ. 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]
Примечания
- ↑ Persistent HTTP Connections in RFC 2616 «Hypertext Transfer Protocol — HTTP/1.1»
- ↑ Apache HTTP Server — KeepAlive Directive
- ↑ Apache HTTP Server 2.2 — KeepAliveTimeout Directive
- ↑ Multiple (wiki) Httpd/KeepAlive. Docforge. Архивировано из первоисточника 31 октября 2012. Проверено 30 января 2010.
Ссылки
- RFC 2616 (HTTP/1.1), 8.1 Persistent Connections
- Persistent Connection Behavior of Popular Browsers (dated)
- Apache Keep-Alive Support
- Network Performance Effects of HTTP/1.1, CSS1, and PNG
Для улучшения этой статьи по информационным технологиям желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).
Категория:- Протокол HTTP
Wikimedia Foundation. 2010.