Скорость и кэширование 2 мин чтения

HTTP/2, HTTP/3 и CDN

Современные протоколы загружают ресурсы параллельно и по одному соединению. Включается на стороне сервера и почти всегда бесплатно.

HTTP/1.1 придуман в девяностых: одно соединение — один запрос за раз. Браузеры обходили это, открывая по 6 соединений на домен, но всё равно упирались в очередь: при 40 ресурсах остальные ждали.

HTTP/2 решает это мультиплексированием: по одному соединению идут все запросы одновременно. Плюс сжатие заголовков и приоритеты — важное грузится первым.

HTTP/3 идёт дальше и работает поверх QUIC (на UDP вместо TCP). Главное преимущество — потеря одного пакета не тормозит остальные потоки, что заметно на мобильных сетях и нестабильном Wi-Fi.

Что это даёт на практике

Ускорение тем заметнее, чем больше на странице отдельных файлов и чем хуже связь. На сайте с тремя ресурсами разницы почти не будет; на типичном сайте с 40–60 запросами выигрыш — сотни миллисекунд.

Побочный эффект: по HTTP/2 склейка всех файлов в один перестаёт быть безусловно верной — параллельная загрузка нескольких файлов кэшируется гибче.

Как включить

Никаких изменений в коде сайта не требуется — это настройка веб-сервера. Оба протокола работают только по HTTPS, так что сначала нужен сертификат.

Nginx:

listen 443 ssl;
http2 on;

(В версиях до 1.25 — listen 443 ssl http2;.)

HTTP/3 требует сборки nginx с поддержкой QUIC и открытого порта 443/UDP.

Apache — модуль mod_http2 и Protocols h2 http/1.1 в конфигурации.

Панель хостинга — обычно галочка «HTTP/2» в настройках сайта. Если её нет, спросите поддержку: чаще всего протокол просто не включён.

CDN отдаёт по HTTP/2 и HTTP/3 сразу, даже если ваш сервер старый.

Про CDN

CDN — сеть серверов в разных городах, которая раздаёт статику (картинки, стили, скрипты) с ближайшей к посетителю точки. Что это даёт:

  • Меньше задержка — данные идут не через полстраны, а из соседнего города.
  • Разгрузка сервера — статику отдаёт CDN, ваш сервер занят только генерацией страниц.
  • Современные протоколы и сжатие из коробки.
  • Устойчивость к всплескам трафика.

Нужен ли он вам? Если аудитория в одном городе, а сервер там же — почти нет. Если посетители по всей стране или за рубежом — да, разница ощутима. Российские варианты: Yandex Cloud CDN, Selectel, VK Cloud; международные — Cloudflare (у бесплатного тарифа хватает возможностей для обычного сайта).

Как проверить

  • Пункт аудита «Версия протокола HTTP».
  • В браузере: F12Network → правый клик по шапке таблицы → включите колонку Protocol. Увидите h2, h3 или http/1.1 по каждому запросу.
  • Из консоли:
curl -I --http2 https://example.ru/

Первая строка ответа покажет версию: HTTP/2 200.

Обратите внимание: сторонние ресурсы (счётчики, шрифты, виджеты) идут по протоколу своих серверов — на них ваша настройка не влияет.

А что с этим на вашем сайте?

Аудит «Кверху» проверяет этот пункт вместе с остальными пятьюдесятью и показывает конкретику: какие страницы затронуты и что именно исправить. Первая полная проверка проекта — бесплатно.

Проверить сайт бесплатно