EMZETT.
Войти

HTTP/2: мультиплексирование, сжатие заголовков и server push

Коротко: HTTP/2 передаёт много запросов одновременно по одному соединению и сжимает заголовки, благодаря чему веб-страницы быстрее, чем с HTTP/1.1.

Подробнее: HTTP/1.1 обрабатывает запросы по одному на соединение; браузеры поэтому открывают несколько соединений и борются с head-of-line blocking (один медленный ответ задерживает всё за ним). HTTP/2 (2015) решает многие из этих проблем, не меняя смысла методов, кодов состояния и заголовков.

Подробности

Ключевые новшества

  • Бинарный протокол вместо текстового: компактнее и быстрее обрабатывается.
  • Мультиплексирование: много потоков (streams) идут параллельно по одному соединению TCP; кадры разных запросов перемежаются.
  • Сжатие заголовков (HPACK): повторяющиеся заголовки (cookie, user agent) отправляются полностью лишь один раз, затем короткими ссылками.

См. также: QUIC и HTTP/3, HTTP keep-alive, заголовки HTTP, TLS