Wiki
Web / стек

HTTP/2 vs HTTP/3 — в чём разница

HTTP/2 (2015) — мультиплексирование поверх TCP+TLS. HTTP/3 (2022) — то же, но поверх QUIC/UDP, устраняет head-of-line blocking. HTTP/3 быстрее на плохих сетях.

HTTP/2 (2015, RFC 7540) — бинарный протокол поверх одного TCP+TLS соединения с мультиплексированием: несколько параллельных запросов в одном TCP-коннекте, header compression (HPACK), server push. По сравнению с HTTP/1.1 сокращает overhead и ускоряет загрузку страницы на 20-40 %.

HTTP/3 (2022, RFC 9114) — принципиально новый транспорт: вместо TCP используется QUIC (поверх UDP). QUIC делает TLS-handshake в 0-1 RTT (вместо 2-3 у TCP+TLS), устраняет head-of-line blocking (потерянный пакет не блокирует все стримы), поддерживает connection migration (переключение с Wi-Fi на 4G без разрыва).

Практика: HTTP/3 даёт +10-30 % скорости на плохих сетях (мобильный интернет, wifi с packet loss), 0-5 % на хорошем гигабитном канале. Cloudflare, Google, Facebook уже используют HTTP/3 по умолчанию. nginx поддерживает с 1.25 (стабильно с 1.27).

У нас все VPS-тарифы поддерживают HTTP/3 — nginx 1.27+ ставится cloud-init'ом с `listen 443 quic reuseport`. Клиенту нужен только Firefox 88+, Chrome 87+, Safari 14+ (все актуальные).

Частые вопросы

Как проверить, работает ли HTTP/3?
curl --http3 https://your-site.com или Chrome DevTools → Network → Protocol column.
HTTP/3 нужен всем?
Для B2C-сайтов с мобильной аудиторией — да, ощутимый прирост. Для внутренних admin-панелей — HTTP/2 достаточно.

Смотрите также