Most of the wall clock goes to connection setup, not your server code: DNS, TCP, and TLS all cost round trips before a byte of HTTP is sent.
DNS resolutionbrowser cache first, then a recursive resolver
- ↓
TCP connect + TLS negotiationround trips
- ↓
HTTP request goes outa load balancer routes it to an application server
- ↓
server hits databases and caches, returns the response
- ↓
browser parses HTML, discovers CSS, JS, and image URLs
- ↓
follow-up requests reuse the connectionkeep-alive, or multiplexed over one HTTP/2 stream
- ↓
rendering starts before everything has arrived
The interview signal is knowing where the time goes: connection setup is round trips, which is why CDNs and TLS session resumption matter, and the server's own work is often a minority of the total. It also explains why long-lived patterns like SSE reuse one connection instead of polling.