Software Engineer Interview Prep Podcast podcast

How WebSockets Power the Real-Time Web

0:00
27:32
Retroceder 15 segundos
Avanzar 15 segundos

Why does a chat message arrive instantly, but the web was never built for it? In this deep dive we unpack WebSockets: how engineers turned a request/response web into an open, two-way line, and what that costs at scale.


You'll learn:

- Why short polling, long polling and Server-Sent Events fall short (and the math behind 200,000 empty requests per second)

- How the WebSocket handshake hides inside a normal HTTP request, and the "cryptographic high-five" that proves the server understood

- Why clients mask every frame but servers never do, and the cache-poisoning attack it prevents

- Half-open connections, idle timeouts and why heartbeats every 20–30 seconds keep sockets alive

- Close code 1006, the "ghost code" every system design candidate should know

- The real cost of state: 1 million connections × 20 KB = 20 GB of RAM before a single message

- Gateways, pub/sub buses, the thundering herd, and exponential backoff with full jitter

- Cross-site WebSocket hijacking, and why tokens never belong in the URL

- When NOT to use WebSockets: SSE vs WebSockets vs gRPC

- Head-of-line blocking and why QUIC and WebTransport may be next


Perfect for software engineers preparing for system design interviews.


Chapters

00:00 Intro: the web wasn't built for real time

02:19 Short polling and the 200,000 requests/second problem

03:54 Long polling

04:42 Server-Sent Events

05:31 WebSockets and full-duplex communication

06:19 The handshake: disguised as HTTP

07:55 Sec-WebSocket-Accept: the cryptographic high-five

09:05 Why clients mask frames

09:53 Cache poisoning explained

11:50 Half-open connections

12:38 Idle timeouts at every network hop

13:47 Heartbeats: Ping and Pong

14:36 Close code 1006

15:23 The cost of state

16:57 Scaling with gateways and pub/sub

18:34 The thundering herd

19:46 Exponential backoff with full jitter

20:58 Cross-site WebSocket hijacking

22:32 Ticket-based authentication

23:45 When not to use WebSockets

24:55 The big trade-off: latency vs statefulness

25:43 Head-of-line blocking

26:55 What's next: QUIC and WebTransport


#SystemDesign #WebSockets #SoftwareEngineering #InterviewPrep #BackendEngineering


Interview Prep Podcast

Otros episodios de "Software Engineer Interview Prep Podcast"