Главная Статьи Оптимизация

HTTP/2 и HTTP/3

HTTP — это язык, на котором браузер и сервер договариваются о передаче страниц. У него есть версии, и от версии зависит, насколько шустро грузится сайт. Старый HTTP/1.1 был придуман, когда страницы состояли из пары файлов; современные сайты тянут десятки ресурсов сразу, и тут новые версии — HTTP/2 и HTTP/3 — дают ощутимый прирост. Разберём, в чём разница и как перейти.

Чем плох старый HTTP/1.1

В HTTP/1.1 по одному соединению файлы запрашиваются практически по очереди: пока не пришёл один, следующий ждёт. А современная страница — это десятки файлов: стили, скрипты, шрифты, картинки. Получается очередь, в которой ресурсы толкаются за место. Браузеры обходили это, открывая несколько соединений сразу, но это костыль, который тоже упирается в лимиты. Отсюда и тормоза на сайтах с большим числом ресурсов.

Три версии коротко

HTTP/1.1
Файлы по очереди, по одному на соединение. Устаревший подход, но всё ещё встречается.
HTTP/2
Много файлов по одному соединению одновременно (мультиплексирование), сжатие заголовков. Заметно быстрее.
HTTP/3
То же, но поверх протокола QUIC. Лучше держит нестабильную сеть и мобильный интернет.

Что даёт HTTP/2

Главное нововведение — мультиплексирование: по одному соединению одновременно идёт сразу много файлов, без очереди. Плюс сжимаются служебные заголовки запросов, которых на странице бывают сотни. На практике сайт с множеством мелких ресурсов на HTTP/2 грузится заметно быстрее, чем на HTTP/1.1, — и без всяких переделок самого сайта.

Что добавляет HTTP/3

HTTP/3 работает поверх нового транспорта — QUIC (на базе UDP вместо TCP). Это убирает проблему, когда из-за одного потерянного пакета «застревали» все остальные. Выигрыш особенно чувствуется на мобильном и нестабильном интернете, а также ускоряет установку соединения. Для пользователя это ещё более быстрая и плавная загрузка, особенно в дороге и в местах со слабым сигналом.

⚠️ И HTTP/2, и HTTP/3 работают только по HTTPS. Так что сначала нужен SSL-сертификат — если вы ещё на http, начните с него: статья SSL и HTTPS: зачем сайту.

Как включить и проверить

Хорошая новость — сайт переделывать не нужно, это уровень сервера. HTTP/2 сегодня поддерживают почти все хостинги и серверы; часто он уже включён, иначе включается в настройках или через поддержку. HTTP/3 пока новее, но его легко получить через CDN — многие сети раздают контент по HTTP/3 из коробки. Проверить версию просто:

Инструменты разработчика → вкладка «Сеть» →
колонка «Протокол»: h2 (HTTP/2) или h3 (HTTP/3)

Если видите http/1.1 — есть что улучшить. Версию протокола также показывают онлайн-сервисы проверки сайта.

Версия протокола — часть скорости наряду с сжатием gzip/Brotli, временем ответа сервера и Core Web Vitals. По отдельности каждый приём даёт немного, вместе — ощутимо быстрый сайт.

Коротко

HTTP/2 и HTTP/3 — новые версии протокола передачи страниц, которые ускоряют загрузку без переделки сайта. HTTP/2 за счёт мультиплексирования отдаёт много файлов по одному соединению сразу, а HTTP/3 поверх QUIC лучше держит мобильный и нестабильный интернет. Обе версии требуют HTTPS. HTTP/2 обычно уже доступен на хостинге, HTTP/3 проще всего получить через CDN. Проверить версию можно в инструментах разработчика — ищите h2 или h3 вместо http/1.1.

Частые вопросы

Чем HTTP/2 отличается от HTTP/1.1?
В HTTP/1.1 файлы по одному соединению передаются практически по очереди, из-за чего сайты с большим числом ресурсов тормозят. HTTP/2 умеет мультиплексирование — передаёт много файлов по одному соединению одновременно — и сжимает служебные заголовки. В итоге современная страница на HTTP/2 грузится заметно быстрее без переделки самого сайта.
Что такое HTTP/3 и QUIC?
HTTP/3 — самая новая версия протокола, работающая поверх транспорта QUIC (на базе UDP вместо TCP). Это убирает ситуацию, когда из-за одного потерянного пакета застревали все остальные, и ускоряет установку соединения. Выигрыш особенно заметен на мобильном и нестабильном интернете.
Нужен ли HTTPS для HTTP/2 и HTTP/3?
Да, обе версии на практике работают только по HTTPS. Поэтому сначала нужен SSL-сертификат. Если сайт ещё на http, начните с перехода на https — это и предусловие для новых протоколов, и сам по себе важный шаг для безопасности и доверия.
Как включить HTTP/2 или HTTP/3?
Сайт переделывать не нужно — это уровень сервера. HTTP/2 поддерживают почти все современные хостинги, часто он уже включён или включается в настройках. HTTP/3 пока новее, и проще всего получить его через CDN, многие сети раздают контент по HTTP/3 автоматически.
Как узнать, какая версия протокола у моего сайта?
Откройте инструменты разработчика в браузере на вкладке «Сеть» и посмотрите колонку «Протокол»: h2 означает HTTP/2, h3 — HTTP/3, http/1.1 — старую версию. Версию протокола также показывают онлайн-сервисы проверки скорости и состояния сайта.