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

  • HTTP/1.1, HTTP/2 and HTTP/3 from the browserBeginner · 33 min read · Sign in to read

    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.

  • Polling, long polling and server-sent eventsIntermediate · 41 min read · Sign in to read

    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.

  • WebSockets: one connection, both directionsIntermediate · 41 min read · Sign in to read

    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.

  • WebRTC: browser to browserAdvanced · 33 min read · Sign in to read

    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.