HTTP/2: что это и зачем нужен
HTTP/2 — протокол передачи данных второго поколения. Ускоряет загрузку сайта за счёт мультиплексирования, сжатия заголовков и Server Push.
Что такое HTTP/2
HTTP/2 — вторая мажорная версия протокола HTTP, стандартизированная в 2015 году (RFC 7540). Был разработан на основе протокола SPDY от Google и решает основные проблемы производительности HTTP/1.1.
Ключевые отличия от HTTP/1.1:
- Бинарный протокол вместо текстового
- Мультиплексирование запросов в одном соединении
- Сжатие заголовков (HPACK)
- Server Push (отправка ресурсов без запроса)
- Приоритизация запросов
HTTP/2 поддерживают все современные браузеры и большинство серверов (Nginx, Apache, Caddy). По данным W3Techs, в 2026 году HTTP/2 используют более 55% сайтов.
Зачем нужен HTTP/2
Проблема HTTP/1.1
В HTTP/1.1 каждый ресурс (CSS, JS, изображение) требовал отдельного TCP-соединения или ожидания в очереди. Браузеры открывали 6 параллельных соединений, но при 100+ ресурсах это создавало узкое место.
Что даёт HTTP/2
Мультиплексирование: все ресурсы передаются по одному TCP-соединению параллельно, без очередей.
Сжатие заголовков: повторяющиеся заголовки (Cookie, User-Agent) сжимаются через HPACK-алгоритм — экономия до 70% объёма заголовков.
Server Push: сервер отправляет CSS и JS ещё до того, как браузер их запросит — ускоряет первую загрузку.
Приоритизация: критические ресурсы (CSS) загружаются раньше некритических (аналитика).
Результат: ускорение загрузки страниц на 15-50% по сравнению с HTTP/1.1 на тех же условиях.
Как включить HTTP/2
Nginx
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/ssl/example.crt;
ssl_certificate_key /etc/ssl/example.key;
# Оптимизация для HTTP/2
http2_push_preload on;
}
Apache
# В httpd.conf или .htaccess
Protocols h2 h2c http/1.1
Требуется модуль mod_http2. Убедитесь, что SSL настроен — HTTP/2 в браузерах работает только поверх HTTPS.
Проверка через curl
curl -I --http2 https://example.com
# Ищите: HTTP/2 200 в ответе
HTTP/3 и QUIC
В 2022 году стандартизирован HTTP/3 (RFC 9114), работающий поверх протокола QUIC (UDP вместо TCP). Преимущества:
- Нет head-of-line блокировки на уровне транспорта
- Быстрое восстановление при потере пакетов
- 0-RTT подключение для повторных визитов
HTTP/3 поддерживают ~30% сайтов. Nginx добавил поддержку в версии 1.25.
Проверка HTTP/2 на reChecker
Используйте HTTP/2 & Brotli для проверки протокола вашего сайта. Инструмент покажет:
- Версию HTTP-протокола (HTTP/1.1, HTTP/2, HTTP/3)
- Поддержку сжатия Brotli и Gzip
- Наличие Server Push
- ALPN-согласование протокола
FAQ
HTTP/2 работает без SSL? Технически протокол допускает HTTP/2 без шифрования (h2c). Но все современные браузеры требуют HTTPS для HTTP/2. Фактически: хотите HTTP/2 — нужен SSL.
HTTP/2 автоматически ускоряет сайт? Не всегда. HTTP/2 даёт наибольший выигрыш при большом количестве небольших ресурсов. Для сайтов с оптимизированным HTTP/1.1 (concatenation, sprites) выигрыш может быть минимальным.
Нужно ли отказываться от объединения файлов при HTTP/2? Практика конкатенации JS/CSS файлов и CSS спрайтов потеряла смысл с HTTP/2 — мультиплексирование эффективнее передаёт много мелких файлов. Но крупные бандлы всё равно хуже для кэширования.
Попробуйте инструмент
Проверьте http/2 на вашем сайте с помощью бесплатного инструмента.
HTTP/2 & Brotli →