Постоянное соединение в HTTP | Курс "Компьютерные сети"
Протокол HTTP: Постоянное Соединение
Обзор раздела: В этом разделе рассматривается эволюция протокола HTTP от простых текстовых страниц к современным веб-сайтам, требующим загрузки множества ресурсов.
Эволюция протокола HTTP
- Протокол HTTP 1.0 работал в режиме запрос-ответ, где клиент запрашивает веб-страницу у сервера.
- Современные веб-страницы содержат множество ресурсов (картинки, видео, скрипты), требующих загрузки с сервера.
- Постоянное соединение позволяет использовать одно TCP соединение для загрузки всех ресурсов на странице без повторного установления связи.
Преимущества постоянного соединения
- Постоянное соединение (HTTP Persistent Connection или Keep Alive) ускоряет загрузку страниц за счет избежания повторного установления TCP соединения.
- Использование постоянного соединения позволяет эффективно регулировать скорость передачи данных и избежать низкой скорости при каждом новом подключении.
Заголовок Connection Keep Alive
Обзор раздела: Рассмотрим механизм использования заголовка Connection Keep Alive для поддержания постоянного соединения.
Заголовок Connection Keep Alive
- В HTTP 1.0 использование заголовка Connection Keep не гарантирует оставление соединения открытым, так как это не является стандартной частью протокола.
- Клиент может добавить заголовок Connection Keep Alive к запросу для запросить сервер оставить соединение открытым, что облегчает последующую загрузку ресурсов.
Оптимизация передачи данных: HTTP Pipelining
Обзор раздела: Рассмотрим технику http pipelining для оптимизации передачи данных и уменьшения нагрузки на сервер.
HTTP Pipelining
Ресурсы и HTTP соединения
Обзор раздела: В данном разделе обсуждается важность передачи ресурсов в правильном порядке, проблемы при загрузке ресурсов, а также методы увеличения скорости загрузки веб-страниц с использованием нескольких HTTP соединений.
Ресурсы и порядок передачи
- Ресурсы должны передаваться в том же порядке, что и запросы.
- Проблема возникает, если возникли проблемы с загрузкой одного ресурса - другие ресурсы нельзя передавать.
Увеличение скорости загрузки
- Конвейерная обработка на практике используется редко; увеличение скорости загрузки можно достичь через использование нескольких HTTP соединений.
- Клиент может открыть несколько соединений с сервером для параллельной загрузки различных ресурсов (стилевого файла, Ява скрипта, картинок).
Постоянные HTTP соединения
- Постоянное соединение HTTP позволяет использовать одно TCP соединение для загрузки нескольких ресурсов, сокращая время на установку TCP соединения.
- Стандарт HTTP 1.1 поддерживает постоянные соединения по умолчанию без использования дополнительных заголовков.
Заключение
Обзор раздела: В заключении обсуждаются основные преимущества постоянных HTTP соединений и изменения в стандарте HTTP 1.1.
Основные моменты
- Постоянное TCP соединение позволяет экономить время на установку новых соединений при каждой загрузке ресурса.