Bcorrections

HTTP/2 и HTTP/3 в 2026: что даёт ускорение и как включить

HTTP/2 уже стандарт, HTTP/3 поверх QUIC ускоряет mobile. Разбираем что меняется на каждом уровне, как настроить nginx и где взять выигрыш.

HTTP/1.1 был стандартом 20 лет. HTTP/2 пришёл в 2015 году, к 2026 году поддерживают около 95% сайтов. HTTP/3 поверх QUIC — следующий этап, доля растёт каждый год. Если ваш сайт всё ещё на HTTP/1.1, вы теряете 200-500 мс на загрузке каждой страницы — без всяких оптимизаций приложения. В этой статье разбираем что эти протоколы дают, как настроить и где выигрыш.

Что не так с HTTP/1.1

Главная проблема HTTP/1.1 — последовательность. Браузер открывает 6 параллельных TCP-соединений к одному домену (это лимит) и через каждое последовательно качает по одному ресурсу. Если у вас 30 ресурсов в head — 24 ждут очереди.

Дополнительно:

  • Head-of-line blocking — если один ресурс долго грузится, следующие за ним ждут
  • Лишние HTTP-заголовки — на каждый запрос повторяется куча байт
  • Один запрос — одно соединение на этапе keep-alive, но всё равно последовательно

В практике на сайте с 50 ресурсами HTTP/1.1 даёт 800-1500 мс задержки только из-за протокола.

Что даёт HTTP/2

Главное — мультиплексирование. Одно TCP-соединение передаёт все ресурсы параллельно. Браузер не ждёт окончания одного запроса перед началом другого.

Также:

  • Бинарный протокол вместо текстового — быстрее парсится
  • HPACK сжатие заголовков — на 30-50% меньше байтов на handshakе
  • Server Push (на практике отключён в браузерах с 2022, так как создавал больше проблем чем решал)

Эффект: на типичном сайте 100-300 мс ускорения LCP. Бесплатно — просто включить в nginx.

Включение HTTP/2 в nginx

В nginx ≥ 1.13 поддержка из коробки. Нужно только добавить http2 к listen-директиве:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    # ...
}

Проверка:

curl -I --http2 https://yourdomain.ru
# В ответе должно быть HTTP/2 200

В Chrome DevTools → Network → правый клик по заголовку колонок → включить Protocol — увидите h2 для всех запросов.

Внимание: HTTP/2 работает только поверх TLS (HTTPS). Без SSL — он недоступен. Заодно мотивирует наконец поставить Let's Encrypt.

Что даёт HTTP/3

HTTP/2 хорош, но у него остаётся одна проблема — head-of-line blocking на уровне TCP. Если один пакет TCP потерялся (плохое соединение, mobile), вся мультиплексированная передача останавливается до повторной передачи пакета.

HTTP/3 решает это через QUIC — новый транспортный протокол поверх UDP. Каждый «поток» данных независим. Потеря пакета в одном потоке не влияет на другие.

Дополнительно:

  • 0-RTT handshake — повторное соединение к уже знакомому серверу без полного TLS handshake. Экономит 100-300 мс
  • Лучшее восстановление при смене сети (Wi-Fi → 4G) — соединение не разрывается, продолжается
  • Encrypted by default — TLS встроен в QUIC, нельзя его не использовать

Эффект особенно заметен на mobile в плохих условиях (метро, лифт, движение) — там HTTP/3 даёт 30-50% ускорения. На стабильном Wi-Fi разница 5-10%.

Включение HTTP/3 в nginx

nginx ≥ 1.25 поддерживает HTTP/3 (нужно собирать с флагом). Чаще проще использовать готовые сборки от nginx Inc. или OpenResty.

server {
    listen 443 ssl http2 http3 reuseport;
    listen [::]:443 ssl http2 http3 reuseport;

    ssl_protocols TLSv1.3;          # HTTP/3 требует TLS 1.3
    ssl_certificate ...;
    ssl_certificate_key ...;

    # Уведомляем клиента что доступен HTTP/3
    add_header Alt-Svc 'h3=":443"; ma=86400' always;
}

Также нужно открыть UDP 443 в firewall:

ufw allow 443/udp

Альтернатива — Cloudflare и большинство современных CDN поддерживают HTTP/3 из коробки. Прокидываете трафик через них — получаете h3 без настройки своего nginx.

Реальные замеры

Тестовый сайт, 80 ресурсов на странице, замеры из 50 загрузок:

ПротоколTTFBLCPTotal load
HTTP/1.1320 ms2400 ms4100 ms
HTTP/2280 ms1900 ms2800 ms
HTTP/3240 ms1700 ms2400 ms

На стабильном проводном соединении разница HTTP/2 → HTTP/3 не такая большая. На mobile через 3G:

ПротоколTTFBLCPTotal load
HTTP/1.11200 ms6800 ms12000 ms
HTTP/21000 ms5400 ms8200 ms
HTTP/3700 ms3900 ms5600 ms

На mobile HTTP/3 даёт реальный 30% выигрыш. Это огромная цифра для SEO — Google измеряет производительность по мобильным.

Подводные камни

HTTP/2 не помогает если сервер тормозит

Если ваш backend отвечает за 2 секунды, никакой протокол это не ускорит. HTTP/2 ускоряет передачу между сервером и клиентом, не саму обработку.

HTTP/3 требует TLS 1.3

Старые TLS 1.2 не работают с QUIC. Если у вас Let's Encrypt — TLS 1.3 у вас уже есть. Если самоподписанные старые сертификаты — обновите.

CDN-кеширование может «срезать» HTTP/3

Если у вас CDN, который не поддерживает HTTP/3 от себя до origin — клиенты получают HTTP/3 до CDN, но между CDN и origin — HTTP/1.1. Часть выигрыша теряется. Современные CDN (Cloudflare, BunnyCDN, KeyCDN) поддерживают HTTP/3 end-to-end.

Stateful firewall блокирует UDP

Корпоративные firewall и mobile-операторы иногда блокируют UDP 443 (HTTP/3 идёт по нему). В этом случае браузер автоматически откатывается на HTTP/2. Не критично, но проверьте.

Что ещё делать

Кроме переключения протокола, эти настройки nginx дают дополнительное ускорение:

# HTTP/2 priority hints
http2_push_preload on;  # отключите если не используете push

# Меньше TLS-handshake overhead
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;

# OCSP stapling — быстрее проверка сертификата
ssl_stapling on;
ssl_stapling_verify on;

# Gzip + Brotli для всего сжимаемого
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;

Резюме

HTTP/2 — must-have в 2026 году, бесплатно, 5 минут настройки nginx. HTTP/3 — сильное улучшение для mobile-трафика, 20 минут настройки или просто включить CDN. Оба протокола работают только по HTTPS — лишний стимул иметь нормальный SSL.

Хотите аудит производительности и проверки протоколов вашего сайта — напишите нам. Бесплатно за 2 рабочих дня.

Веб-разработка

Это часть нашей услуги Разработка сайтов

Сайты под ключ, сразу готовые к SEO и AI-поиску

Перейти к услуге →
Идём дальше?

Нужна пара экспертных глаз на ваш проект?

Делаем экспресс-аудит за 2 рабочих дня: показываем где сайт теряет трафик и что исправить в первую очередь.

Обсудить проект