HTTP/2 vs HTTP/3 — В чем разница?



HTTP/1 появился в 1996 году, а уже в 1997 вышел HTTP/1.1.



Следующий крупный шаг произошел только спустя ~20 лет — в 2015 году был стандартизирован HTTP/2. А в 2022 году официально утвердили HTTP/3.



В чем разница?



HTTP/1.1

Постоянные соединения — повторное использование соединений вместо открытия новых

Потоковая передача (Chunked Transfer) — отправка данных частями вместо ожидания полного ответа

Улучшенное кеширование — заголовки для управления кешем и соединениями

Последовательные запросы — блокируют друг друга (HoL-блокировка на уровне запросов)

Требуется несколько соединений — браузеры открывали несколько TCP-соединений для скорости



HTTP/1.1 заложил фундаментальные механизмы, актуальные и сегодня.



HTTP/2

Мультиплексирование — несколько запросов в одном TCP-соединении

Сжатие заголовков (HPACK) — уменьшение накладных расходов

Приоритизация потоков — критически важные ресурсы загружаются первыми

HoL-блокировка — потерянный пакет блокирует все потоки



HTTP/2 оптимизировал TCP, но остался ограничен его архитектурой.



HTTP/3

Основан на QUIC (UDP) — больше нет узких мест TCP

Независимые потоки — потеря пакетов в одном потоке не мешает другим

Быстрые рукопожатия — транспорт и шифрование настраиваются за один шаг

Обязательное шифрование (TLS 1.3) — безопасность по умолчанию

Миграция соединений — стабильная работа при смене сети



Вывод: HTTP/2 оптимизировал TCP, но HTTP/3 меняет правила игры с QUIC — быстрее, надежнее и безопаснее по умолчанию.



👉 @PHPgx