Назад к блогу
Платформа

WebTransport: границы источника, потоков и приватности

Разберите безопасный контекст, семантику потоков, политику источника и ограничения BotBrowser при использовании WebTransport.

BotBrowser Team

Документация

Нужна структурированная документация по теме Платформа?

Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.

WebTransport является API браузера для защищённого мультиплексированного обмена с сервером. Для проверки WebTransport BotBrowser поддерживает повторяемые разрешённые сценарии профиля при объявленных условиях браузера и прокси, но не предоставляет разрешение API и не подтверждает авторизацию или хранение данных сервером. BotBrowser может повторить WebTransport fixture, но не изменяет политику источника, сертификата, прокси или авторизации сервера.

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

Кратко

  • Проверяйте наличие WebTransport, требуйте безопасный контекст и обрабатывайте отказ как обычное состояние продукта.
  • Сессия поддерживает двунаправленные потоки и датаграммы; порядок и надёжность, разные свойства.
  • Политика same-origin и авторизация сервера сохраняются; успех транспорта не гарантирует личность или приватность.
  • Записывайте только минимальный результат поддержки, не превращая метаданные соединения в постоянный отпечаток.
  • BotBrowser повторяет разрешённый сценарий, но страница, сервер, прокси и политика хранения остаются ответственными каждый за своё.

Содержание

Что гарантирует API

Спецификация W3C описывает защищённый клиентский API, привязанный к источнику. new WebTransport(url) создаёт кандидата сессии; ready завершается после установления, а closed сообщает о закрытии. Потоки дают противодавление и надёжные упорядоченные байты. Датаграммы , независимые сообщения без гарантии доставки и порядка. API не определяет вход пользователя, схему сообщений, права доступа или хранение на сервере. Обычно требуется https:; сертификат, прокси, HTTP/3 или политика могут отдельно отклонить запрос.

Ограниченный тест соединения

async function openSession(url, report) {
  if (!('WebTransport' in globalThis)) return report({ state: 'unsupported' });
  try {
    const transport = new WebTransport(url);
    await transport.ready;
    report({ state: 'ready' });
    transport.closed.finally(() => report({ state: 'closed' }));
  } catch (error) {
    report({ state: 'rejected', code: error?.name || 'connection-error' });
  }
}

Ожидаемые состояния: unsupported, ready затем closed, либо rejected. ready доказывает лишь установление сессии данной страницей и точкой в проверенных условиях. Это не доказывает доставку датаграммы, право на поток или запись на сервере. Для таких выводов добавьте синтетическое эхо и прикладной тайм-аут.

Границы источника и приватности

Источник , граница безопасности браузера для страницы, начинающей сессию. CORS не делает произвольную точку доверенной: сервер по-прежнему аутентифицирует и авторизует каждую операцию. Не помещайте токены в URL и не принимайте имя удалённого хоста за доказательство аккаунта. Время соединения, коды закрытия, согласование протокола и сетевой путь зависят от браузера, прокси, ОС и нагрузки. Это эксплуатационные наблюдения, а не основание для вывода о человеке или устройстве. Телеметрия должна содержать состояние сессии, версию теста, метку выпуска и общий класс ошибки.

Граница BotBrowser конкретна: он повторяет разрешённый профильный сценарий при объявленных сборке, платформе и прокси. Он не открывает сессию другого источника, не отключает TLS-проверку, не заставляет сервер принимать HTTP/3, не гарантирует доставку датаграмм и не сертифицирует хранение или права. Сообщайте проверенный маршрут и откат, а не универсальную гарантию WebTransport.

Матрица доказательств и решений

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

НаблюдениеОсторожная интерпретацияСледующее действие
unsupportedВ проверенном контексте нет APIСохранить WebSocket или HTTPS-откат и его ограничение
rejected до readyОшибка контекста, сертификата, прокси, политики или согласованияКлассифицировать и повторить контролируемый тест
ready, эхо потока успешноМаршрут поддерживает проверенный надёжный потокОставить противодавление и тайм-аут, проверить переподключение
Эхо датаграммы потеряноСемантика или маршрут допускают потерюОбязательные сообщения передать потоком, показать деградацию
closed после прикладного тайм-аутаСессия завершилась, бизнес-результат неизвестенСначала сверить по ключу идемпотентности

Матрица связывает наблюдение с безопасным решением. Повторяйте её при изменении браузера, профиля, прокси, точки или сервера, меняя один фактор за раз.

Итоги и заключение

Практический вывод: используйте WebTransport только при наличии безопасного контекста, проверенного маршрута и явного серверного контракта.

Используйте WebTransport, когда договорённости безопасного источника, потоков, датаграмм и сервера соответствуют задаче. Проверяйте наличие API, сохраняйте откат и фиксируйте ограниченные доказательства. Следующий шаг , запустить синтетическое эхо на реальном источнике и проверить переподключение и восстановление неизвестного результата.

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

Заменяет ли WebTransport аутентификацию?

Нет. Сервер всё ещё аутентифицирует, авторизует, проверяет и записывает сообщения.

Надёжны ли датаграммы?

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

Доказывает ли сессия приватность?

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

Может ли BotBrowser устранить отказ соединения?

Нет. Он повторяет разрешённый сценарий для доказательств, но не меняет политику контекста, источника, сертификата, прокси или сервера.

Источники и чтение дальше

Источники

#WebTransport#HTTP-3#Источники#Приватность#Совместимость Браузеров

Переведите BotBrowser из исследований в продакшн

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