WebTransport: границы источника, потоков и приватности
Разберите безопасный контекст, семантику потоков, политику источника и ограничения BotBrowser при использовании WebTransport.
BotBrowser Team
Нужна структурированная документация по теме Платформа?
Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.
WebTransport является API браузера для защищённого мультиплексированного обмена с сервером. Для проверки WebTransport BotBrowser поддерживает повторяемые разрешённые сценарии профиля при объявленных условиях браузера и прокси, но не предоставляет разрешение API и не подтверждает авторизацию или хранение данных сервером. BotBrowser может повторить WebTransport fixture, но не изменяет политику источника, сертификата, прокси или авторизации сервера.
Кратко
- Проверяйте наличие
WebTransport, требуйте безопасный контекст и обрабатывайте отказ как обычное состояние продукта. - Сессия поддерживает двунаправленные потоки и датаграммы; порядок и надёжность, разные свойства.
- Политика same-origin и авторизация сервера сохраняются; успех транспорта не гарантирует личность или приватность.
- Записывайте только минимальный результат поддержки, не превращая метаданные соединения в постоянный отпечаток.
- BotBrowser повторяет разрешённый сценарий, но страница, сервер, прокси и политика хранения остаются ответственными каждый за своё.
Содержание
- Что гарантирует API
- Ограниченный тест соединения
- Границы источника и приватности
- Матрица доказательств и решений
- Итоги и заключение
- Частые вопросы
Что гарантирует 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 W3C
- WebTransport API на MDN
- Безопасные контексты и мощные функции
- Совместимость API и откаты
Источники
Похожие статьи
Переведите BotBrowser из исследований в продакшн
Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.