46. Постоянное соединение в HTTP (Курс Компьютерные сети)

36
29 авг. 2017 г.

Постоянное соединение 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-сервером. Каждое такое соединение может быть постоянным и использовать конвейерную обработку.
Автор: Андрей Созыкин