HTTP/2 и HTTP/3 ускоряют загрузку сайта за счёт мультиплексирования, сжатия заголовков и быстрого соединения. Как проверить поддержку протоколов, включить их на сервере и измерить эффект.
Протокол передачи данных HTTP эволюционирует. Первая версия HTTP/1.1 работала десятилетиями и до сих пор работает, но имеет фундаментальные ограничения: одно соединение обрабатывает только один запрос за раз, заголовки передаются в текстовом виде и не сжимаются, а каждый новый запрос требует подтверждения. HTTP/2 решил эти проблемы: мультиплексирование позволяет передавать несколько запросов параллельно по одному соединению, заголовки сжимаются, а сервер может предугадывать, какие ресурсы понадобятся браузеру, и отправлять их заранее. HTTP/3 идёт ещё дальше: он работает поверх QUIC — протокола на базе UDP, который устанавливает соединение в один обмен пакетами вместо трёх, как TCP. Для пользователя разница между HTTP/1.1 и HTTP/2 — это сокращение времени загрузки на 20-40%. Для SEO — улучшение Core Web Vitals и, как следствие, позиций. Проверить, поддерживает ли ваш сайт HTTP/2, можно через Проверка HTTP/2.
Чем HTTP/1.1 плох для современного сайта
HTTP/1.1 создавался в 1997 году, когда сайты состояли из HTML-файла и пары изображений. Сегодня страница может содержать 100+ ресурсов: десятки скриптов, стилей, изображений, шрифтов. При работе по HTTP/1.1 браузер вынужден открывать несколько параллельных соединений (обычно до 6), чтобы ускорить загрузку. Каждое соединение — это отдельный TCP handshake (три пакета туда-обратно), отдельные накладные расходы. Даже с 6 параллельными соединениями скорость ограничена: если на странице 50 ресурсов, они выстраиваются в очередь. Плюс заголовки передаются в текстовом виде и не сжимаются — каждый запрос несёт сотни байт лишнего веса. Плюс отсутствует приоритизация: браузер не может сказать серверу «сначала отдай стили, потом скрипты». Всё это приводит к тому, что страница грузится дольше, чем могла бы. На мобильных устройствах с высокой задержкой (RTT 100-300 мс) каждый лишний handshake стоит заметно. HTTP/2 решает эти проблемы на уровне протокола.
Что даёт HTTP/2: мультиплексирование и не только
Главное преимущество HTTP/2 — мультиплексирование. Одно TCP-соединение может обрабатывать множество запросов параллельно. Браузер отправляет все запросы сразу, сервер отвечает по мере готовности ресурсов. Никаких очередей, никаких ограничений в 6 соединений. Второе преимущество — сжатие заголовков. В HTTP/1.1 заголовки передаются в текстовом виде при каждом запросе. Куки, User-Agent, Accept-* — всё это повторяется сотни раз. HTTP/2 сжимает заголовки бинарно, сокращая их размер в разы. Третье преимущество — приоритизация. Браузер может указать серверу, какие ресурсы важнее: сначала критические стили, потом скрипты, потом изображения. Сервер обрабатывает запросы в порядке приоритета. Четвёртое — Server Push. Сервер может отправить ресурсы, которые понадобятся браузеру, не дожидаясь запроса. Правда, Server Push оказался сложным в реализации и сейчас используется редко, но сама возможность есть. На практике HTTP/2 ускоряет загрузку страницы на 20-40% по сравнению с HTTP/1.1. Для сайтов с большим количеством ресурсов эффект ещё выше.
HTTP/3 и QUIC: следующий шаг
HTTP/3 — это развитие идей HTTP/2, но на новом транспортном протоколе QUIC, который работает поверх UDP вместо TCP. Зачем? TCP имеет врождённую проблему: при потере одного пакета все последующие пакеты в соединении ждут его повторной отправки (head-of-line blocking на уровне транспорта). HTTP/2 решил проблему на уровне приложения, но TCP всё равно может блокировать. QUIC решает проблему на уровне транспорта: каждый поток данных независим, потеря пакета в одном потоке не влияет на остальные. Второе преимущество QUIC — быстрое установление соединения. TCP требует трёх обменов пакетами для handshake, TLS поверх TCP — ещё несколько. QUIC объединяет транспортный и криптографический handshake в один обмен, сокращая задержку до 50% на первом запросе. Третье преимущество — устойчивость к смене сети. Если пользователь переключается с Wi-Fi на мобильный интернет, TCP-соединение рвётся и переустанавливается. QUIC использует идентификатор соединения и может продолжать работу после смены IP. Для SEO HTTP/3 важен не критично — поисковики не ранжируют по протоколу напрямую. Но ускорение загрузки, особенно на мобильных с плохим соединением, улучшает поведенческие факторы и Core Web Vitals. Проверить поддержку HTTP/3 сложнее, чем HTTP/2 — он ещё не так широко распространён. Но проверить HTTP/2 можно прямо сейчас через Проверка HTTP/2.
Как проверить, поддерживает ли ваш сайт HTTP/2
Самый простой способ — инструмент Проверка HTTP/2 в SerpMax. Введите URL и получите ответ: поддерживает сервер HTTP/2 или нет. Если поддерживает — отлично, вы уже получаете преимущества протокола. Если нет — нужно включать. Второй способ — инструменты разработчика в браузере: F12 → Network → кликните правой кнопкой по заголовкам столбцов → включите «Протокол». В списке запросов появится колонка, где будет указано http/1.1, h2 (HTTP/2) или h3 (HTTP/3). Третий способ — командная строка: curl -I --http2 https://ваш-сайт.ru. Если ответ содержит HTTP/2, поддержка есть. Имейте в виду: HTTP/2 работает только через HTTPS. Если ваш сайт не переведён на HTTPS, HTTP/2 включить невозможно. Проверьте SSL-сертификат через Проверка SSL сертификата — без него HTTP/2 недоступен.
Как включить HTTP/2 на сервере
Настройка зависит от веб-сервера. Для nginx: HTTP/2 включается в директиве listen. Вместо listen 443 ssl; должно быть listen 443 ssl http2;. После изменения конфигурации перезагрузите nginx: nginx -s reload. Всё, сервер начнёт отдавать контент по HTTP/2. Для Apache: HTTP/2 включается через модуль mod_http2. Установите модуль, затем в конфигурации виртуального хоста добавьте Protocols h2 http/1.1. Перезапустите Apache. Для IIS: HTTP/2 включён по умолчанию в Windows Server 2016 и новее. Для Cloudflare и других CDN: HTTP/2 включается в настройках зоны, обычно он активен по умолчанию. Если вы на виртуальном хостинге и не имеете доступа к конфигурации сервера, обратитесь в поддержку с вопросом: «Поддерживает ли сервер HTTP/2 и включён ли он для моего сайта?». Большинство современных хостингов включают HTTP/2 по умолчанию. Если ваш хостинг не поддерживает HTTP/2 — это повод задуматься о его смене. Подробнее о выборе хостинга читайте в статье Выбор хостинга для сайта: критерии 2026.
HTTP/2 и оптимизация: что меняется в подходах
HTTP/2 меняет некоторые устоявшиеся практики оптимизации. В эпоху HTTP/1.1 лучшей практикой было объединение CSS и JS файлов в один большой файл — чтобы уменьшить количество запросов. С HTTP/2 это не нужно: мультиплексирование отлично обрабатывает множество мелких файлов параллельно. Более того, объединение файлов может навредить: один большой CSS-файл загружается целиком, даже если пользователю нужны только первые 10%. Раздельные файлы можно загружать выборочно. Вторая устаревшая практика — спрайты изображений (объединение всех иконок в один файл). С HTTP/2 спрайты не нужны: каждая иконка загружается отдельным запросом без потери скорости. Третья практика — домены-шарды (static1.example.com, static2.example.com) для обхода лимита в 6 соединений. С HTTP/2 это не только не нужно, но и вредно: каждый дополнительный домен требует отдельного DNS-запроса и TCP-соединения. Всё это означает, что после включения HTTP/2 стоит пересмотреть предыдущие оптимизации. Возможно, вы сможете упростить код, убрать хитрости и сделать сайт чище без потери скорости.
HTTP/2 и Core Web Vitals
HTTP/2 напрямую влияет на два из трёх показателей Core Web Vitals: LCP и CLS. LCP (Largest Contentful Paint) — время появления самого большого элемента на странице. Если это изображение, оно загружается быстрее благодаря приоритизации и мультиплексированию. CLS (Cumulative Layout Shift) — стабильность макета. HTTP/2 сам по себе не влияет на сдвиги, но ускорение загрузки ресурсов позволяет браузеру быстрее определять размеры и резервировать место, что снижает сдвиги. TTFB (Time To First Byte) при HTTP/2 также улучшается: сжатие заголовков и бинарный формат уменьшают объём передаваемых данных при handshake. Проверить TTFB можно через Проверка TTFB. Сравните значение до и после включения HTTP/2 — разница обычно заметна. Также проверьте общую скорость загрузки через Скорость загрузки сайта и Core Web Vitals — улучшение протокола отразится в метриках.
Типичные проблемы при переходе на HTTP/2
Проблема первая: HTTP/2 включён, но сайт не ускорился. Причина может быть в том, что другие факторы ограничивают скорость: медленный сервер, неоптимизированные изображения, отсутствие кеширования. HTTP/2 ускоряет передачу, но не исправляет остальные проблемы. Проверьте TTFB и размер страниц. Проблема вторая: несовместимость с некоторыми модулями. Старые версии nginx или Apache могут конфликтовать с HTTP/2. Решение: обновите серверное ПО до актуальной версии. Проблема третья: CDN не поддерживает HTTP/2. Если вы используете CDN, убедитесь, что он включён и там. Проблема четвёртая: HTTP/2 работает, но в браузере всё равно отображается HTTP/1.1. Причина может быть в том, что вы проверяете старый кеш или соединение установлено по HTTP/1.1 из-за прокси. Перезагрузите страницу с очисткой кеша. Проблема пятая: включили HTTP/2, но забыли про HTTPS. HTTP/2 работает только через TLS. Если SSL-сертификат просрочен или неверен, HTTP/2 не включится. Проверьте сертификат через Проверка SSL.
HTTP/2 и HTTPS: обязательная связка
HTTP/2 не существует без HTTPS. Хотя спецификация допускает работу по незашифрованному соединению, все браузеры поддерживают HTTP/2 только через TLS. Это означает, что для включения HTTP/2 ваш сайт должен иметь валидный SSL-сертификат и быть полностью переведён на HTTPS. Если сайт всё ещё частично на HTTP (некоторые страницы, ресурсы), HTTP/2 не будет работать для этих ресурсов. Проверьте, что сайт корректно перенаправляет HTTP на HTTPS через Проверка редиректов URL. Также убедитесь, что нет смешанного содержимого: страница на HTTPS не должна загружать ресурсы по HTTP. Проверить это можно через Проверка смешанного содержимого. Полный переход на HTTPS — это отдельная тема, но без него HTTP/2 невозможен. Если вы ещё на HTTP, сначала переезжайте на HTTPS, потом включайте HTTP/2. Подробнее о переезде читайте в статье Переезд сайта на HTTPS без потерь.
Часто задаваемые вопросы
Как проверить, что сайт работает по HTTP/2?
Используйте инструмент проверки HTTP/2 в SerpMax. Введите URL и получите ответ: поддерживает сервер HTTP/2 или нет. Альтернативный способ — инструменты разработчика в браузере, вкладка Network, колонка «Протокол».
Обязательно ли включать HTTP/2 для SEO?
Напрямую HTTP/2 не фактор ранжирования. Но он ускоряет загрузку страницы на 20-40%, а скорость — доказанный фактор. Поэтому HTTP/2 косвенно помогает позициям. Для современного сайта HTTP/2 — это обязательная практика.
Работает ли HTTP/2 без HTTPS?
Технически спецификация допускает HTTP/2 без TLS, но все браузеры реализуют HTTP/2 только через HTTPS. Для практического использования нужен валидный SSL-сертификат и полный переход на HTTPS.
Что быстрее: HTTP/2 или HTTP/3?
HTTP/3 быстрее, особенно на мобильных устройствах с нестабильным соединением. Но HTTP/3 поддерживается не всеми серверами и CDN. HTTP/2 — это стабильный стандарт, который работает везде. Начните с HTTP/2, а HTTP/3 включите, когда он станет доступен у вашего хостинга.