Skip to content
Performance

What happens in the one second it takes a website to load?

September 12, 20266 min readBalogh Tamás
BTHAMAS.HU / BLOG Performance FCPLCP htmlcssfontjsimgheroapi3p

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.

Google's yardstickIt counts as good if LCP is at most 2.5 seconds, INP at most 200 milliseconds and CLS (layout shifting) at most 0.1. These are the Core Web Vitals, and they also count in search rankings.

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.

Next articleWebhooks: the invisible courier connecting your systems