Постоянное соединение в HTTP | Курс “Компьютерные сети“
Постоянное соединение в протоколе 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:
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-сервером. Каждое такое соединение может быть постоянным и использовать конвейерную обработку.
Лекция “Протокол HTTP“ -
Лекция “Протокол TCP“ -
Лекция “Протокол TCP: скользящее окно“ -
Лекция “Протокол TCP: соединение“ -
Лекция “Протокол TCP: управление перегрузкой“ -
Практические занятия по курсу “Компьютерные сети“ -
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках: