HTTP/2: что это и зачем нужен

HTTP/2 — протокол передачи данных второго поколения. Ускоряет загрузку сайта за счёт мультиплексирования, сжатия заголовков и Server Push.

производительностьhttp2скоростьпротоколweb

Что такое 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

Техническая поддержка

Нашли баг, сбой или ошибку в работе сервиса? Есть предложение по улучшению? Напишите нам — мы читаем каждое сообщение и стараемся быстро исправлять проблемы.