简介
WebTransport 是什么?
WebTransport是浏览器提供的一套基于QUIC协议的 API 接口,方便浏览器和服务器之间进行实时数据传输,它填补了 Web 平台中的一些空白:
- 缺少类似 UDP 的网络 API
- 缺少类似于 WebSocket 但不受队头阻塞影响(Head of Line Blocking)的 API
WebTransport 特性
Webtransport 基于 QUIC 协议,其底层是 UDP。虽然是 UDP 是不可靠的传输协议,但是 QUIC 在 UDP 的基础上融合了 TCP、TLS、HTTP/2 等协议的特性,使得 QUIC 成为一种低时延、安全可靠的传输协议。可以简单理解 QUIC 把 TCP+TLS 的功能基于 UDP 重新实现了一遍。
WebTransport 提供了如下功能特性:
- 传输可靠数据流 (类似 TCP)
- 传输不可靠数据流(类似 UDP)
- 数据加密和拥塞控制(congestion control)
- 基于 Origin 的安全模型(校验请求方是否在白名单内,类似于 CORS 的Access-Control-Allow-Origin)
- 支持多路复用(类似于 HTTP2 的 Stream)