A transport decision where QUIC over UDP and TCP each earn their place

HTTP3 rides UDP while HTTP2 stays safe over TCP

HTTP/3 runs QUIC over UDP:443, and the reason to care is what a lost packet costs. On a TCP connection every stream shares one byte stream, so a dropped segment blocks delivery of everything behind it until the retransmission arrives. QUIC gives each stream its own loss recovery, so the same drop blocks only the streams whose data was in that packet. ...

February 12, 2028 · 5 min · XB Field Notes
Streaming over shared HTTP/2 frames with cancellation and deadlines.

gRPC multiplexes many streams over one HTTP/2 connection

Multiplexing shares the transport and keeps ordering within each stream, which is why long-lived pushes fit this model better than request-reply websockets. One connection, many streams HTTP/2 multiplexes many logical streams over a single TCP connection, and gRPC makes each call a stream, so a chatty microservice stops reopening sockets per request. That one shared connection means connection setup, TLS handshake, and idle bookkeeping happen once instead of per call. Streams are independent in ordering and cancellation, so a slow, long-lived stream does not block a short one on the same pipe. The practical effect is a low army of connection state, with per-call overhead shrinking to a frame header. ...

January 16, 2027 · 5 min · XB Field Notes
Observe-decide-act boxes beside the message: Cancel one stream, verify the rest.

HTTP/2 multiplexing fixes a queue

HTTP/2 removes HTTP response-order constraints by multiplexing streams, but those streams still share a TCP connection and its failure modes. One useful boundary is cancellation: terminating a request need not destroy its sibling requests or the reusable connection. That is a scoped capability, not a guarantee that streams never affect each other. ...

January 16, 2027 · 6 min · XB Field Notes