WebTransport
WebTransport is a novel browser API that enables browsers to establish stream-multiplexed connections to a server. It is layered atop QUIC and HTTP/3, offering a fallback mechanism on HTTP/2 for scenarios where QUIC might be blocked.
Conceptually, WebTransport can be compared to WebSocket but utilizes QUIC instead of TCP, providing benefits such as stream multiplexing and support for datagrams—features that enhance performance and efficiency for real-time communication. Despite these conceptual similarities, WebTransport and WebSocket differ significantly in their underlying protocols.
Key Advantages and Use Cases
WebTransport leverages QUIC to improve connection reliability and efficiency, especially beneficial for applications requiring rapid and stable communication, such as online gaming and live video streaming.
A distinctive feature of WebTransport is serverCertificateHashes
, which makes it possible to use certificates not signed by a Certificate Authority (CA).
Specification and Implementation Status
The WebTransport specification is still evolving, as the protocol is under active development in the IETF WebTransport Working Group.
As of now, both Chrome and Firefox support WebTransport over HTTP/3 in draft version 2. The HTTP/2 fallback is currently not implemented by either browser.
webtransport-go is the WebTransport implementation based on quic-go. It is compatible with both Chrome and Firefox at this point.
At some point in the future, browsers will update to a more recent IETF draft version (or the final RFC version).
There is no guarantee that browsers will update in a backwards-compatible way, or that webtransport-go will support multiple draft versions at the same time. Support for WebTransport therefore might break for a transition period, until both browsers and servers have been updated to the new version.