3.1.1 WebSockets
After an HTTP upgrade, both sides send frames until someone closes. Good for chat, presence, and live boards.
Why it matters
Polling every second is wasteful and laggy. WebSockets push in milliseconds.
How it is used
Terminate at a sticky or pub/sub-aware layer (socket.io + Redis). Heartbeat so idle load balancers do not kill the socket. Fall back to SSE or polling on hostile networks.