46. Постоянное соединение в HTTP (Курс Компьютерные сети)
Постоянное соединение HTTP (HTTP keep-alive, HTTP persistent connection) – использование одного TCP-соединения для загрузки нескольких ресурсов
Преимущества постоянного соединения:
- Сокращение накладных расходов на установку TCP-соединения.
- Нет необходимости каждый раз начинать передачу данных с маленьким размером окна TCP (медленный старт).
В стандарте HTTP 1.0 возможности использовать постоянное соединение нет. После публикации стандарта HTTP 1.0 был предложен заголовок «Connection: keep-alive».
Пример использования заголовка «Connection: keep-alive»:
HTTP-запрос:
GET /courses/networks HTTP/1.0
Host: http://www.asozykin.ru
Connection: keep-alive
HTTP-ответ:
HTTP/1.0 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Content-Length: 5161
Connection: keep-alive
В стандарте HTTP 1.1 по умолчанию все соединения постоянные.
Технология конвейерной обработки HTTP (pipelining) – отправка сразу нескольких HTTP запросов через постоянное соединение не дожидаясь ответа. Сервер также передает сразу несколько запрошенных ресурсов.
Для ускорения загрузки Web-страниц браузеры открывают сразу несколько соединений с Web-сервером. Каждое такое соединение может быть постоянным и использовать конвейерную обработку.
Автор: Андрей Созыкин
{$ noItemsMessage $}