Interactive

Watch a request travel

Seven steps happen between a click and a readable page. Change where the server is and watch which steps move, and which stubbornly do not.

DNS lookup
Turn the name into an address. Cached after the first time.
32ms
TCP handshake
Agree to talk at all. One round trip.
40ms
TLS handshake
Agree to talk privately. The S in HTTPS.
48ms
Request travels
Your method, path and headers cross the distance.
20ms
Server thinks
Loaders run, the database is queried. Independent of distance.
35ms
Response travels
The HTML comes back the same way.
20ms
Browser renders
Parse, style, paint. Independent of distance.
60ms

255ms before the page is readable. 63% of that is the network, not your code.

Only two of these seven steps are affected by how well the application is written. Distance and connection setup dominate everything else, which is why “move it closer” and “stop making so many round trips” beat micro-optimisation almost every time.

What this page is demonstrating

Both modes are the same route with the same validated search params. “Read it” is server-rendered, so its content is in the HTML. “Run it” opts out of server rendering entirely, because a running clock cannot be rendered ahead of time. The server sends a placeholder and the browser takes over. View source on each and compare.

Read the lesson behind this →