Transports
NOTICE: Once WebTransport matures further, we may swap it in for WebSockets because it would be strictly better:
- QUIC, if available, with fallback to HTTP/2 (thus Tor can work)
- serverCertificateHashes (to avoid trust in DNS and CAs)
NOTICE: Development is proceeding with QUIC first.
Mosaic defines three transports with the following characteristics:
| Transport | URL Scheme | Required | Browser clients | Tor | Trust | Perf |
|---|---|---|---|---|---|---|
| WebSockets | mosaicwss | Required rat |
Yes | Yes | Relies on CAs and DNS | Lowest |
| QUIC | mosaic | Optional rat |
No | No | None | Highest |
| TCP | mosaictcp | Optional | No | Yes | None | Med-Low |
Transport Requirements
For compatibility purposes, all Mosaic servers and clients MUST be able to communicate over Websockets over HTTPS. Every Mosaic server MUST advertise at least one Websockets over HTTPS endpoint. This requirement is in place to support browser-based clients, so that every server can be contacted by every client.