Loading a fast website feels instant, yet behind the scenes a precisely choreographed chain runs. Once you understand the steps, you’ll also see where most sites lose precious seconds.
1. DNS: the phone book
The browser asks which server’s IP address belongs to the domain. If the answer is already cached, this is almost instant; if not, it takes a few dozen milliseconds.
2. Connection and encryption
A connection is opened, then during the TLS handshake the browser and the server agree on encryption – that’s what makes it https. Modern TLS 1.3 needs just a single round trip for this.
3. Request and response
The browser asks for the page. If the site runs on a CDN, the answer comes from a server near you (say, Budapest or Frankfurt) rather than from the other side of the world. The time until the first byte arrives is the TTFB.
4. Building
The HTML arrives, the browser starts parsing it and discovers what else it needs: CSS, fonts, images, JavaScript. HTTP/2 and HTTP/3 download these in parallel.
5. Painting
The browser calculates the layout and draws the screen. When the largest element (often an image or the main heading) appears, that’s the LCP – the moment the page feels ready.
6. Coming to life
JavaScript runs and the page starts responding to clicks. Too many scripts make buttons sluggish – that’s what INP measures.
Where is most time lost?
- Images that are too large or in the wrong format (use AVIF or WebP, sized to how they’re displayed).
- Too many fonts and font weights.
- Third-party scripts: chat widgets, trackers, embeds.
- Slow, cheap hosting without caching or a CDN.
Test your own site in PageSpeed Insights (pagespeed.web.dev) in mobile view – if the number is red, I’m happy to show you what I’d fix first.