How machines talk โ HTTP, serialization, RPC, and transport, drawn from first principles. Wire formats, framing, and the tradeoffs behind every version bump.
The whole family: HTTP/1.1 keep-alive & pipelining, HTTP/2 multiplexing & HPACK, HTTP/3 over QUIC โ and the head-of-line blocking problem that drove every jump.
Protobuf from the bytes up: tag-length-value, varints & zigzag, schema evolution rules, and how it stacks against JSON, Avro, MessagePack, and FlatBuffers.
Remote calls that feel local: the four RPC types (unary, server / client / bidi streaming), deadlines & cancellation, status codes, interceptors โ and gRPC vs REST.
The layer underneath it all: TCP vs UDP, what TLS actually does, and the realtime menu โ WebSockets, Server-Sent Events, and long-polling vs true push.
New to the stack? Start at the bottom with TCP vs UDP โ every protocol above is built on one of these two, and the choice explains most of their behavior.
Want to know why HTTP/3 exists? Read Head-of-Line Blocking first, then HTTP/1.1 vs /2 vs /3 โ the same problem, chased down three layers.
Shipping an API? Weigh the payload in Protobuf vs JSON, then decide the call style in gRPC vs REST โ they're the two halves of one decision.
Need live updates? Go to SSE vs WebSockets โ most apps reach for WebSockets when a one-way stream would have been simpler.