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