Skip to content

HTTP/3

🌐 Что такое HTTP/3?

HTTP/3 — это третья версия протокола передачи гипертекста (HTTP), которая была стандартизирована IETF (Internet Engineering Task Force) и официально опубликована как RFC 9114 в июне 2022 года.


🧠 Основные особенности HTTP/3:

🔹 Использует QUIC вместо TCP

  • В отличие от HTTP/1.1 и HTTP/2, которые работают на основе TCP, HTTP/3 использует новый транспортный протокол QUIC, разработанный изначально Google под названием gQUIC.
  • QUIC работает поверх UDP, что позволяет уменьшить задержки при установлении соединений.

🔹 Устраняет проблему "head-of-line blocking"

  • В HTTP/2 эта проблема частично решена, но если пакет теряется, всё соединение блокируется.
  • В HTTP/3 благодаря QUIC потоки данных изолированы друг от друга, поэтому потеря одного пакета не блокирует другие.

🔹 Быстрая установка соединения

  • QUIC объединяет установку TLS-соединения с установкой транспортного соединения, что уменьшает количество необходимых раунд-трипов между клиентом и сервером.

🔹 Поддержка миграции соединений

  • QUIC может сохранять соединение при смене IP-адреса клиента (например, при переходе с Wi-Fi на мобильный интернет).

🔒 Безопасность

  • HTTP/3 требует шифрования (как и HTTP/2), обычно через TLS 1.3 или новее.
  • Незашифрованные соединения (неподдерживаемые большинством реализаций) не рекомендуются.

📈 Где используется?

HTTP/3 уже поддерживается: - Браузерами: Chrome, Firefox, Safari, Edge. - Серверами: Nginx, Apache (через модули), Cloudflare, Google, Facebook, Cloudinary и др. - CDN-провайдерами: Cloudflare, Akamai, AWS CloudFront и другие поддерживают HTTP/3.


✅ Преимущества HTTP/3:

Особенность Выгода
Работа на UDP Меньше задержек
Отсутствие head-of-line blocking Быстрее загружается страница
Интеграция TLS в QUIC Быстрее установление безопасных соединений
Поддержка миграции Лучшая работа на мобильных устройствах

🚫 Минусы / сложности:

  • Требуется поддержка на уровне сервера и клиента.
  • Не все промежуточные устройства (например, старые фаерволы) корректно обрабатывают UDP-трафик.
  • Сложнее отладка из-за использования UDP и новых протоколов.

🧪 Как проверить, используется ли HTTP/3:

В браузере Chrome: 1. Открыть DevTools (F12). 2. Перейти во вкладку Network → обновить страницу. 3. Щелкнуть правой кнопкой по заголовкам столбцов → выбрать Protocol. 4. В колонке Protocol будет указан h3 для HTTP/3, h2 для HTTP/2 и http/1.1.