APIs, protocols and data formats · Bytes to the browser
Client-server protocols-style app
Illustrative system design for a bytes to the browser app like Client-server protocols: 4 topics to read, from requirements to deep dives.
Illustrative design, not Client-server protocols’s actual implementation. Arrowbox is not affiliated with Client-server protocols’s owner. Disclaimer
Start with HTTP versions Sign in to start readingUpdated 2 Oct 2026
Core
The same request and response semantics carried three ways: several TCP connections per origin, many streams on one TCP connection, or streams on QUIC over UDP. Each version removes one kind of waiting.
Three ways for a server to tell a browser something changed without leaving plain HTTP: ask on a timer, hold the request open until there is news, or keep one response open and stream events down it.
An HTTP request that upgrades into a long-lived, full-duplex channel of small frames. The protocol is simple; keeping the channel honest (heartbeats, reconnects, resync, backpressure) is the design work.
Media and data sent directly between browsers over UDP, once a server has introduced them and NAT traversal has found a path. Servers still carry the signalling, and a relay when no direct path exists.