HTTP/3 называют новым поколением веб-протокола, но для владельца сайта это не означает автоматическое ускорение всех страниц. Протокол меняет транспортный уровень передачи данных, улучшает работу соединения в нестабильных сетях и устраняет часть ограничений HTTP/2, однако не исправляет медленный backend, тяжёлые изображения, блокирующий JavaScript и неудачную архитектуру сайта.

Переход на HTTP/3 стоит рассматривать как дополнительную оптимизацию сетевого взаимодействия. Максимальная польза проявляется при высокой задержке, потерях пакетов, мобильном трафике, частых запросах и переходах между сетями. На стабильном проводном соединении с быстрым сервером разница может оказаться небольшой.

Что такое HTTP/3

HTTP/3 — это стандартизированное отображение семантики HTTP поверх транспортного протокола QUIC. Спецификация HTTP/3 опубликована как RFC 9114, базовый транспорт QUIC описан в RFC 9000, а использование TLS для защиты соединения — в RFC 9001.

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

Использование UDP не означает, что HTTP/3 отправляет данные без контроля доставки. QUIC остаётся надёжным транспортом для потоков приложения. UDP предоставляет основу, поверх которой QUIC реализует собственную модель соединения.

Из каких компонентов состоит HTTP/3

QUIC

QUIC предоставляет управляемые потоки, низкую задержку установки соединения и возможность миграции соединения между сетевыми путями. Для сохранения соединения используются специальные идентификаторы, поэтому смена адреса не обязательно требует начинать взаимодействие заново.

TLS 1.3

Защита является частью установления QUIC-соединения. Клиент не должен предлагать для QUIC версию TLS ниже 1.3. При нормальных условиях новое соединение может быть установлено и защищено за один сетевой раунд, а повторное соединение при подходящих настройках может использовать раннюю передачу данных.

HTTP/3

HTTP/3 определяет, как HTTP-запросы, ответы, настройки и управляющие данные передаются по потокам QUIC. Само значение методов GET, POST, заголовков и кодов ответа при этом не меняется.

QPACK

Для сжатия полей HTTP/3 использует QPACK. Он создан с учётом независимых потоков QUIC и уменьшает риск блокировки, характерный для попытки напрямую перенести модель HPACK из HTTP/2.

HTTP/2 и HTTP/3: основные отличия

Характеристика HTTP/2 HTTP/3
Транспорт TCP QUIC поверх UDP
Защита На практике обычно TLS поверх TCP TLS 1.3 интегрирован в установление QUIC
Мультиплексирование Несколько HTTP-потоков в одном TCP-соединении Независимые потоки QUIC
Потеря пакета Может задержать доставку данных всех потоков TCP-соединения Потеря в одном потоке не останавливает доставку данных других потоков
Установка нового соединения TCP и TLS выполняют отдельные этапы Транспортное и криптографическое согласование объединены
Повторное соединение Зависит от возобновления TLS Возможна ранняя передача 0-RTT при подходящих условиях
Смена сети TCP-соединение привязано к сетевому пути QUIC поддерживает миграцию соединения
Сжатие заголовков HPACK QPACK
Резервный протокол HTTP/1.1 Обычно HTTP/2 или HTTP/1.1

Проблема блокировки в HTTP/2

HTTP/2 позволяет отправлять несколько запросов по одному TCP-соединению. На уровне HTTP потоки независимы, но все их данные передаются через единый упорядоченный поток TCP.

Если TCP-пакет потерян, последующие данные не могут быть переданы приложению до восстановления пропуска. Даже если они относятся к другому HTTP-потоку, TCP обязан сохранить общий порядок байтов.

QUIC управляет потоками самостоятельно. Потеря данных одного потока задерживает именно этот поток, а данные других потоков могут продолжать доставляться. RFC 9114 прямо относит мультиплексирование потоков и независимое управление ими к ключевым свойствам QUIC для HTTP.

Что даёт более быстрое установление соединения

При первом подключении клиенту необходимо установить защищённое соединение. В классической схеме TCP сначала выполняет своё согласование, а затем начинается TLS.

QUIC использует TLS 1.3 внутри транспортного рукопожатия. При отсутствии потерь большинство новых соединений может быть установлено за один сетевой раунд. Чем выше задержка между клиентом и сервером, тем заметнее экономия.

На сайте, который обслуживается рядом с пользователем и открывается по стабильной сети, выигрыш может быть почти незаметным. Для международного проекта или мобильной сети дополнительный сетевой раунд обходится значительно дороже.

Что такое 0-RTT

При повторном подключении клиент может использовать сохранённые параметры и отправить часть данных до завершения нового рукопожатия. Такой режим называется 0-RTT или early data.

Это не универсальное ускорение для всех запросов. Сервер должен явно поддерживать ранние данные, а приложение обязано учитывать возможность повторной передачи. Операции, которые создают заказ, списывают деньги или изменяют состояние, нельзя бездумно выполнять через 0-RTT.

В актуальной документации NGINX указано, что для 0-RTT требуется отдельная настройка ssl_early_data, а при использовании OpenSSL полноценная поддержка зависит от версии библиотеки.

Миграция соединения между сетями

TCP-соединение определяется сочетанием адресов и портов. При переходе смартфона с Wi-Fi на мобильную сеть адрес меняется, поэтому соединение приходится устанавливать заново.

QUIC использует идентификаторы соединения и может продолжить работу по новому сетевому пути после его проверки. Это особенно полезно для длительных сессий, потоковых данных, API и мобильных приложений. Возможность миграции описана в базовой спецификации QUIC.

Практическая поддержка миграции зависит не только от протокола, но и от реализации сервера, балансировщика и сетевой инфраструктуры.

Где HTTP/3 может дать заметный эффект

Мобильный трафик

Мобильные сети чаще сталкиваются с переменной задержкой, потерями пакетов и переключением между точками доступа. Именно в таких условиях преимущества независимых потоков и миграции соединения проявляются лучше всего.

Международная аудитория

Чем дальше пользователь находится от сервера, тем дороже обходится каждый дополнительный сетевой раунд. HTTP/3 может уменьшить накладные расходы установления соединения, но не заменяет CDN и правильное географическое размещение инфраструктуры.

Страницы с большим количеством ресурсов

Если браузер одновременно загружает CSS, JavaScript, изображения, шрифты и API-данные, потеря пакета в HTTP/2 может повлиять на все потоки TCP-соединения. HTTP/3 лучше изолирует потери между потоками.

SPA и насыщенные API

Интерфейсы с большим количеством небольших запросов могут выигрывать от устойчивого соединения и независимых потоков. Однако медленный API останется медленным независимо от используемого протокола.

Повторные посещения

Возобновление соединения и ранние данные способны уменьшить задержку для возвращающихся пользователей, если сервер и клиент поддерживают нужный режим.

Потоковые и длительные соединения

Миграция сетевого пути полезна для сценариев, в которых пользователь меняет сеть во время активной сессии.

Когда разница будет небольшой

HTTP/3 не даст заметного ускорения, если:

  • основное время занимает генерация страницы на сервере;
  • база данных выполняет медленные запросы;
  • страница содержит тяжёлые неоптимизированные изображения;
  • JavaScript надолго блокирует основной поток браузера;
  • сервер находится рядом с аудиторией;
  • сеть стабильна и почти не теряет пакеты;
  • страница состоит из небольшого количества ресурсов;
  • контент уже эффективно отдаётся из близкого CDN;
  • клиент не поддерживает или не может использовать QUIC.

Протокол улучшает доставку данных. Он не уменьшает время, которое приложение тратит на SQL, PHP, шаблонизацию или обращение к CRM. Перевод медленного backend на HTTP/3 лишь доставит его медленный ответ по более современной сети.

HTTP/3 не заменяет оптимизацию сайта

До внедрения нового протокола необходимо проверить базовые факторы:

  • время ответа сервера;
  • кэширование страниц и API;
  • размер изображений;
  • форматы WebP или AVIF;
  • сжатие текстовых ресурсов;
  • кэш браузера;
  • размер JavaScript;
  • критические CSS-ресурсы;
  • сторонние виджеты;
  • географию сервера;
  • использование CDN.

Если страница весит несколько мегабайт и выполняет десятки сторонних скриптов, смена транспортного протокола не превратит её в быстрый сайт. Инфраструктура, увы, не обладает педагогическим талантом и не исправляет плохие решения разработчика самостоятельно.

Ограничения HTTP/3

UDP может блокироваться

Некоторые корпоративные сети, межсетевые экраны и устаревшие устройства ограничивают UDP-трафик. В этом случае клиент должен использовать HTTP/2 или HTTP/1.1.

Необходимо открыть UDP-порт

Для самостоятельного сервера недостаточно разрешить TCP 443. QUIC требует UDP на выбранном порту, обычно также 443.

Сложнее диагностика

Большая часть содержимого и управляющей информации QUIC шифруется. Это улучшает конфиденциальность, но усложняет работу инструментов, которые раньше анализировали TCP и TLS как отдельные уровни. Вопросы эксплуатации и наблюдаемости QUIC отдельно рассматриваются IETF.

Нагрузка на процессор

QUIC реализует значительную часть транспортной логики в пользовательском пространстве и всегда использует шифрование. Реальная нагрузка зависит от реализации, оборудования, трафика и поддержки системных оптимизаций.

Особенности балансировки

Обычная TCP-балансировка не всегда подходит для QUIC. Нужно учитывать UDP, идентификаторы соединений, миграцию и согласованную маршрутизацию пакетов.

Риск неправильной настройки 0-RTT

Ранние данные требуют осторожной обработки. Неидемпотентные действия нельзя выполнять так же, как обычный безопасный GET-запрос.

Разные возможности реализаций

Факт поддержки HTTP/3 не означает одинаковую зрелость функций, производительность и удобство эксплуатации во всех серверах.

Как клиент узнаёт о поддержке HTTP/3

Распространённый способ — заголовок Alt-Svc. Сервер отвечает по обычному HTTPS и сообщает клиенту, что тот же ресурс доступен по HTTP/3 на указанном порту.

Alt-Svc: h3=":443"; ma=86400

Клиент может запомнить информацию и при следующем обращении попробовать QUIC. Если соединение не устанавливается, сайт должен оставаться доступным по HTTP/2 или HTTP/1.1. Официальный пример NGINX использует отдельные TCP- и QUIC-слушатели на одном порту и добавляет Alt-Svc.

HTTP/3 через CDN

Самый простой способ внедрения — использовать CDN или reverse proxy с готовой поддержкой HTTP/3. В таком случае протокол работает между пользователем и пограничным узлом, а соединение между CDN и исходным сервером может использовать другую версию HTTP.

Например, Cloudflare позволяет включить HTTP/3 в настройках зоны. При этом официальная документация отдельно уточняет, что HTTP/3 применяется на участке от пользователя до Cloudflare, а соединение Cloudflare с origin по HTTP/3 пока не поддерживается.

Преимущества CDN

  • не нужно самостоятельно собирать сервер с QUIC;
  • не требуется отдельно обновлять сетевой стек;
  • проще сохранить резервный HTTP/2;
  • протокол работает на географически распределённых узлах;
  • CDN берёт на себя значительную часть защиты и эксплуатации.

Что необходимо проверить

  • правильный режим TLS между CDN и origin;
  • кэширование динамических страниц;
  • передачу реального IP;
  • логи протокола;
  • работу WebSocket и API;
  • загрузку файлов;
  • правила межсетевого экрана;
  • фактическое использование HTTP/3 клиентами.

HTTP/3 в NGINX

В основной ветке NGINX поддержка QUIC и HTTP/3 присутствует начиная с версии 1.25.0. Официальные Linux-пакеты включают поддержку, однако документация по-прежнему называет модуль ngx_http_v3_module экспериментальным. При самостоятельной сборке модуль включается параметром --with-http_v3_module.

Проверка сборки

nginx -V 2>&1 | grep http_v3_module

Если NGINX собран без модуля, директива quic работать не будет.

Базовый пример NGINX

server {
    listen 443 ssl;
    listen 443 quic reuseport;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    add_header Alt-Svc 'h3=":443"; ma=86400' always;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

Этот пример показывает общую схему, а не готовую конфигурацию для любого сервера. Необходимо учесть версию NGINX, IPv6, виртуальные хосты, PHP-FPM, заголовки безопасности, firewall и текущую TLS-конфигурацию.

Что требуется дополнительно

  • разрешить UDP 443;
  • оставить TCP 443 для HTTPS и резервных протоколов;
  • проверить наличие HTTP/3-модуля;
  • добавить Alt-Svc;
  • проверить сертификат;
  • настроить журналирование значения $http3;
  • проверить несколько workers;
  • провести тест после перезагрузки NGINX.

В документации NGINX рекомендуются одинаковые порты для HTTPS и HTTP/3, reuseport при нескольких workers и отдельная проверка параметров QUIC.

Что делать с Apache

В официальной документации Apache HTTP Server 2.4 присутствует штатный модуль mod_http2, но в списке поставляемых модулей нет сопоставимого стандартного HTTP/3-модуля. Поэтому практичным решением для сайта на Apache часто становится размещение перед ним CDN или reverse proxy с поддержкой HTTP/3. Это вывод из текущей официальной документации Apache, а не утверждение о невозможности сторонних экспериментальных реализаций.

Добавлять в рабочую конфигурацию случайные примеры mod_h3 из старых статей без проверки конкретной сборки не следует. Сначала необходимо выяснить, какой сервер фактически принимает внешние соединения и какие модули в нём доступны.

Нужно ли менять сертификат

HTTP/3 использует обычную систему сертификатов HTTPS. Отдельный «сертификат HTTP/3» не нужен.

Необходимо проверить:

  • действительность сертификата;
  • соответствие домену;
  • полную цепочку;
  • поддержку TLS 1.3 библиотекой сервера;
  • одинаковую конфигурацию для TCP и QUIC-слушателей.

QUIC требует TLS 1.3 или более новую совместимую версию, но это требование относится к протоколу и серверной библиотеке, а не к отдельному типу сертификата.

Как проверить работу HTTP/3 в браузере

  1. Откройте инструменты разработчика.
  2. Перейдите на вкладку Network.
  3. Включите отображение столбца Protocol.
  4. Перезагрузите страницу.
  5. Проверьте значение h3.

Первое открытие может пройти по HTTP/2, после чего браузер получит Alt-Svc. Поэтому иногда требуется повторная загрузка или новое соединение.

Проверка через curl

curl --http3 -I https://example.com

Команда сработает только в сборке curl, которая имеет поддержку HTTP/3. Наличие параметра в чужой инструкции не устанавливает нужную библиотеку в вашу операционную систему, хотя было бы удобно.

Проверить возможности можно командой:

curl --version

В списке функций или протоколов должна присутствовать поддержка HTTP/3. Официальная документация curl выделяет HTTP/3 как отдельный поддерживаемый протокол, но конкретная бинарная сборка может быть создана без нужного QUIC-backend.

Проверка через журнал NGINX

NGINX предоставляет переменную $http3, которая содержит h3 для HTTP/3-соединения. Её можно временно добавить в формат журнала.

log_format main '$remote_addr "$request" $status protocol=$http3';
access_log /var/log/nginx/access.log main;

Пустое значение не обязательно означает ошибку. Клиент мог использовать HTTP/2, не поддерживать QUIC или работать через сеть, блокирующую UDP.

Как тестировать производительность

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

Сценарии проверки

  • стабильное проводное соединение;
  • Wi-Fi с искусственной задержкой;
  • мобильная сеть;
  • сеть с потерями пакетов;
  • первое посещение;
  • повторное посещение;
  • близкий регион;
  • удалённый регион.

Что измерять

  • время установки соединения;
  • время до первого байта;
  • загрузку критических ресурсов;
  • полное время страницы;
  • число повторных передач;
  • ошибки QUIC;
  • процент соединений по h3;
  • частоту возврата к HTTP/2;
  • нагрузку на процессор;
  • стабильность под одновременной нагрузкой.

Тест одной страницы без сетевой эмуляции почти ничего не говорит о главных преимуществах HTTP/3. На идеальном соединении TCP чувствует себя вполне прилично и не испытывает потребности участвовать в рекламной кампании конкурента.

Почему нельзя обещать фиксированный процент ускорения

Эффект зависит от:

  • сетевой задержки;
  • процента потерь пакетов;
  • расстояния до сервера;
  • числа ресурсов;
  • размера ресурсов;
  • повторности соединений;
  • реализации клиента и сервера;
  • CDN;
  • нагрузки;
  • кэширования;
  • характера приложения.

Поэтому утверждение «HTTP/3 ускоряет любой сайт на 30%» технически несостоятельно. Для одного сценария выигрыш может быть заметным, для другого результаты окажутся одинаковыми, а неправильная конфигурация способна даже ухудшить первый запрос из-за неудачных попыток QUIC и последующего fallback.

HTTP/3 и Core Web Vitals

HTTP/3 может косвенно улучшить пользовательские показатели, если уменьшит задержку получения критических ресурсов. Однако сам протокол не гарантирует улучшения LCP, INP или CLS.

На Core Web Vitals сильнее могут влиять:

  • размер главного изображения;
  • приоритет загрузки;
  • серверное время;
  • выполнение JavaScript;
  • шрифты;
  • изменение размеров блоков;
  • сторонние скрипты.

HTTP/3 не является отдельным фактором ранжирования, который можно включить переключателем и ожидать роста позиций. Его ценность заключается в возможном улучшении доставки ресурсов и пользовательского опыта в определённых сетях.

HTTP/3 и безопасность

QUIC защищает полезную нагрузку и значительную часть управляющей информации с помощью TLS 1.3. Это уменьшает объём доступных посреднику данных, но одновременно требует обновления средств мониторинга и защиты.

Что необходимо проверить

  • обновление веб-сервера;
  • актуальность TLS-библиотеки;
  • ограничение UDP-трафика;
  • защиту от перегрузки;
  • address validation;
  • лимиты потоков;
  • логи ошибок QUIC;
  • совместимость WAF и IDS;
  • поведение балансировщика;
  • регулярную установку обновлений безопасности.

В NGINX доступна директива quic_retry для проверки адреса клиента. Применять её следует после понимания влияния на установление соединения и тестирования реальной нагрузки.

Нужно ли отключать HTTP/2

Нет. HTTP/3 следует добавлять параллельно, а не использовать как единственный вариант.

Причины сохранять HTTP/2:

  • часть клиентов не поддерживает HTTP/3;
  • UDP может блокироваться;
  • некоторые прокси не пропускают QUIC;
  • при ошибке клиенту нужен рабочий fallback;
  • диагностика и совместимость HTTP/2 хорошо отработаны.

Типовая схема содержит TCP 443 для HTTPS и UDP 443 для QUIC. Клиент выбирает доступный протокол.

Когда внедрение оправдано

HTTP/3 стоит тестировать в первую очередь, если:

  • значительная доля аудитории использует мобильные сети;
  • пользователи географически удалены от origin;
  • сайт обслуживается через CDN с готовой поддержкой;
  • страницы содержат много независимых ресурсов;
  • приложение выполняет много небольших API-запросов;
  • важна устойчивость длительных соединений;
  • в метриках заметно влияние задержки и потерь;
  • команда умеет контролировать сервер и сетевую инфраструктуру.

Когда можно не спешить

Внедрение можно отложить, если:

  • сайт работает на простом хостинге без поддержки QUIC;
  • основная проблема находится в backend;
  • страницы перегружены контентом и скриптами;
  • аудитория локальна и использует стабильную сеть;
  • нет возможности открыть UDP;
  • нет мониторинга и тестовой среды;
  • HTTP/2 ещё не настроен корректно;
  • обновление требует рискованной сборки production-сервера.

Для небольшого корпоративного сайта с быстрым сервером переход не является срочной необходимостью. Если CDN позволяет включить HTTP/3 одним переключателем и сохранить fallback, тестирование почти всегда рациональнее самостоятельной пересборки всей инфраструктуры.

Практический план внедрения

  1. Измерить текущую скорость и сетевые показатели.
  2. Проверить долю мобильной и международной аудитории.
  3. Определить, поддерживает ли HTTP/3 текущий CDN или сервер.
  4. Обновить сервер и TLS-библиотеки.
  5. Создать резервную копию конфигурации.
  6. Включить UDP 443.
  7. Добавить QUIC-слушатель параллельно TCP.
  8. Добавить Alt-Svc.
  9. Сохранить HTTP/2 и HTTP/1.1.
  10. Проверить конфигурацию.
  11. Протестировать браузером и curl.
  12. Добавить протокол в журнал.
  13. Проверить мобильную сеть и потери пакетов.
  14. Сравнить производительность и нагрузку.
  15. Проверить WAF, firewall и балансировщик.
  16. Наблюдать за ошибками и fallback.
  17. Задокументировать настройку.

Типичные ошибки при переходе

Открыт только TCP 443

HTTPS продолжает работать, но QUIC недоступен.

HTTP/3 включён без Alt-Svc

Клиент не получает обычный способ узнать о доступности протокола.

Удалён HTTP/2

Пользователи из сетей без UDP теряют доступ или получают ошибки.

Использован старый пример конфигурации

Директивы соответствуют экспериментальной ветке или стороннему патчу, а не установленной версии сервера.

Не проверена сборка NGINX

Конфигурация содержит quic, но модуль HTTP/3 не включён.

0-RTT включён для опасных операций

Приложение не учитывает повторную передачу ранних данных.

Оценивается только идеальная сеть

Проверка выполняется рядом с сервером без задержек и потерь.

HTTP/3 считают заменой CDN

Протокол не сокращает физическое расстояние между пользователем и origin.

Игнорируется нагрузка на CPU

После включения не сравниваются ресурсы сервера.

Не ведётся журнал протокола

Команда не знает, какая доля запросов реально использует h3.

Чек-лист HTTP/3

  • HTTPS работает без ошибок.
  • HTTP/2 сохранён.
  • Сертификат и цепочка корректны.
  • TLS-библиотека поддерживает требования QUIC.
  • Сервер действительно собран с HTTP/3.
  • TCP 443 открыт.
  • UDP 443 открыт.
  • Добавлен QUIC-слушатель.
  • Настроен Alt-Svc.
  • Проверен fallback.
  • Протокол отображается в журнале.
  • Проверена загрузка статических файлов.
  • Проверены динамические страницы.
  • Проверены формы и API.
  • Проверены большие загрузки.
  • Проверены мобильные сети.
  • Проверены задержки и потери пакетов.
  • Сравнена нагрузка на CPU.
  • Проверены firewall и WAF.
  • Проверена работа CDN.
  • 0-RTT не используется без необходимости.
  • Конфигурация задокументирована.
  • Настроен мониторинг ошибок QUIC.
  • Есть возможность быстрого отката.

Вывод

HTTP/3 является не рекламным названием, а существенным изменением транспортной основы HTTP. Он использует QUIC вместо TCP, интегрирует TLS 1.3, разделяет потоки и лучше работает при потерях пакетов и смене сетевого пути.

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

HTTP/3 не исправляет медленный backend, тяжёлый frontend и отсутствие кэширования. Перед переходом необходимо устранить более крупные проблемы производительности и зафиксировать исходные показатели.

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

Заморачиваться стоит, если инфраструктура уже готова и протокол можно включить без риска для существующего трафика. Пересобирать стабильный сервер только ради надписи h3 в DevTools разумно лишь после измерений. Технологии и без того получают достаточно внимания за одно своё существование.

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

Что такое HTTP/3 простыми словами?

HTTP/3 — это версия HTTP, которая передаёт данные через QUIC вместо TCP. QUIC использует UDP как основу, но самостоятельно обеспечивает надёжную доставку, шифрование, управление потоками и восстановление после потерь.

Действительно ли HTTP/3 ускоряет сайт?

HTTP/3 может уменьшить задержку установки соединения и лучше работать при потерях пакетов. Наибольший эффект возможен в мобильных и удалённых сетях. На стабильном соединении разница с HTTP/2 может быть небольшой.

Нужно ли отключать HTTP/2 после включения HTTP/3?

Нет. HTTP/3 следует использовать параллельно с HTTP/2 и HTTP/1.1. Если клиент не поддерживает QUIC или сеть блокирует UDP, он должен получить сайт по резервному протоколу.

Нужно ли менять SSL-сертификат для HTTP/3?

Отдельный сертификат не нужен. Используется обычный действующий сертификат HTTPS. Сервер и TLS-библиотека должны поддерживать требования QUIC и TLS 1.3.

Как проверить, что сайт работает по HTTP/3?

В браузере откройте DevTools, вкладку Network и столбец Protocol. Значение h3 означает HTTP/3. Также можно использовать curl с параметром --http3, если установленная сборка curl поддерживает QUIC.

Почему браузер продолжает показывать HTTP/2?

Клиент мог ещё не получить Alt-Svc, сеть может блокировать UDP, сервер может быть настроен неправильно или браузер выбрал fallback. Иногда HTTP/3 появляется после повторного соединения.

Можно ли включить HTTP/3 через Cloudflare?

Да. Cloudflare позволяет включить HTTP/3 для соединения между посетителем и пограничной сетью. При этом соединение от Cloudflare до исходного сервера может использовать другой протокол.

Поддерживает ли NGINX HTTP/3?

Поддержка QUIC и HTTP/3 присутствует в основной ветке NGINX начиная с версии 1.25.0. Необходимо проверить наличие модуля ngx_http_v3_module, открыть UDP-порт и добавить отдельный QUIC-слушатель.

Даёт ли HTTP/3 преимущество для SEO?

Прямого преимущества от самого названия протокола нет. HTTP/3 может косвенно улучшить скорость доставки ресурсов и пользовательский опыт, но не заменяет оптимизацию backend, изображений, JavaScript и Core Web Vitals.

Стоит ли включать HTTP/3 на небольшом корпоративном сайте?

Если CDN или сервер уже поддерживает HTTP/3 и сохраняется fallback на HTTP/2, протокол можно включить и протестировать. Рискованная пересборка стабильного сервера только ради HTTP/3 без измеренной проблемы обычно не оправдана.

Автор: команда веб-разработчиков TS-WEB

Дата публикации:

Раздел: Разработка сайтов

Заявка

Расскажите о задаче

Опишите проект — вернёмся с предложением, составом работ и сроками.