Кратко

  • Alt-Svc позволяет источнику объявить другой протокол, хост и порт, через которые его ресурсы могут быть доступны при неизменном исходном URI.
  • Свежее объявление не доказывает, что конкретный клиент достиг альтернативы, аутентифицировал её для источника, согласовал ожидаемый протокол или завершил через неё запрос.
  • Выбор клиента необязателен, сетевой контекст влияет на результат, а отказ может вызвать резервный переход, свойства которого следует наблюдать.
  • Квитанция альтернативного пути должна связать возраст объявления, идентичность источника, аутентификацию, ALPN, выбор клиента, результат запроса и резервный переход в одной точке наблюдения.

Представим сервис, возвращающий Alt-Svc: h3=":443"; ma=86400. Панель развёртывания видит заголовок у источника и объявляет миграцию на HTTP/3 завершённой. Но в одной сети доступа альтернативное соединение не устанавливается. Клиенты незаметно остаются на исходном соединении, запросы выполняются, а общий график доступности остаётся зелёным. Объявление было настоящим, но заявленная смена пути для этой группы не произошла.

Это гипотетическая операционная трасса, а не сообщение об инциденте поставщика. Механизм работает нормально. Ошибка измерения — принять допустимость маршрута за его исполнение.

Альтернативная маршрутизация сохраняет источник

RFC 7838 определяет альтернативные службы HTTP, чтобы ресурсы источника авторитетно предоставлялись в другом сетевом месте и, возможно, с иной конфигурацией протокола. Альтернатива задаётся протоколом приложения, хостом и портом. Это маршрутная информация к тому же источнику, а не перенаправление с изменением URI.

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

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

Допустимость, согласование и использование — разные события

Альтернативные службы необязательны для клиентов. Клиент выбирает среди свежих кандидатов по своим критериям и может сохранять существующее соединение, пока создаёт другое. Приоритет сервера поэтому не является журналом клиентского решения.

RFC 7301 определяет согласование протокола прикладного уровня внутри TLS. RFC 7838 требует считать альтернативу отказавшей, если ожидаемый протокол не согласован. Доступного порта или завершённого TLS-рукопожатия недостаточно, когда объявленный протокол не выбран.

Для HTTP/3 RFC 9114 отображает семантику HTTP на QUIC и использует идентификатор ALPN h3. h3 в Alt-Svc — не то же событие, что установка QUIC, согласование HTTP/3 и завершение запроса. Каждый переход требует отдельного измерения.

При использовании альтернативы Alt-Used может сообщить об этом серверу. Но источник, CDN, клиент и синтетическая проверка видят разные части решения. Надёжное утверждение называет точку наблюдения.

Свежесть не равна работоспособности

У Alt-Svc собственный срок свежести. ma определяет период использования для новых соединений отдельно от обычного HTTP-кэша. Новое значение заменяет сохранённые альтернативы, а clear отменяет их.

Свежесть означает лишь сохранение допустимости по этим правилам. Она не гарантирует текущую достижимость, путь из каждой клиентской сети, разрешение QUIC на каждой границе, ёмкость или задержку. Это свойства текущего пути.

При обнаружении смены сети клиенты обычно удаляют альтернативы без persist=1. Даже постоянное объявление лишь предполагает пользу после изменения, но не удостоверяет достижимость и политику новой сети.

Резервный переход сохраняет сервис и скрывает отказ

RFC 7838 допускает возврат к источнику или другой альтернативе при отказе или отсутствии ответа. Это защищает доступность, но может скрыть провал миграции. Успешный запрос не доказывает задуманный путь, если фактический маршрут не установлен.

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

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

Закройте изменение квитанцией альтернативного пути

Откройте квитанцию при наблюдении объявления. Запишите источник, точное значение Alt-Svc, место получения ответа, время, рассчитанный возраст, ma, persist, сетевой контекст и группу клиентов. Сохраните, пришло ли объявление напрямую или из кэша и заменило ли его позднее значение.

Для каждой попытки запишите достигнутые хост и порт, результат проверки имени источника, предложенный и согласованный ALPN, результат соединения, причину выбора, статус и задержку запроса, наблюдение Alt-Used и резервный путь. Отказы и обходы объясняют, почему свежее объявление не стало трафиком.

Закрывайте утверждение о миграции только для доказанной группы и периода. Объявление доказывает назначение, аутентификация — полномочие для источника, ALPN — выбор протокола, запрос — использование и результат. Путь доказан, когда эти события связаны в названной точке наблюдения.

Источники