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 в браузере
- Откройте инструменты разработчика.
- Перейдите на вкладку Network.
- Включите отображение столбца Protocol.
- Перезагрузите страницу.
- Проверьте значение
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, тестирование почти всегда рациональнее самостоятельной пересборки всей инфраструктуры.
Практический план внедрения
- Измерить текущую скорость и сетевые показатели.
- Проверить долю мобильной и международной аудитории.
- Определить, поддерживает ли HTTP/3 текущий CDN или сервер.
- Обновить сервер и TLS-библиотеки.
- Создать резервную копию конфигурации.
- Включить UDP 443.
- Добавить QUIC-слушатель параллельно TCP.
- Добавить
Alt-Svc. - Сохранить HTTP/2 и HTTP/1.1.
- Проверить конфигурацию.
- Протестировать браузером и curl.
- Добавить протокол в журнал.
- Проверить мобильную сеть и потери пакетов.
- Сравнить производительность и нагрузку.
- Проверить WAF, firewall и балансировщик.
- Наблюдать за ошибками и fallback.
- Задокументировать настройку.
Типичные ошибки при переходе
Открыт только 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 без измеренной проблемы обычно не оправдана.