What happens when you type a URL and hit Enter?

You hit Enter and in under a second you see the page. Between those two moments there's a choreography of systems almost nobody sees —and when something is slow, it's exactly where you need to look.

You type bank.com, hit Enter and, almost immediately, the page is there. It feels instant. But "instant" is an illusion: in those milliseconds, your browser and half a dozen systems coordinate a precise sequence of steps. Understanding it isn't an academic exercise —it's what separates someone who uses the web from someone who can diagnose why it sometimes doesn't respond.

The question behind it all

A URL looks like a single thing, but it's a compressed map: it states the protocol (https), the server name (bank.com) and the path within it (/accounts). The browser doesn't know how to "go" to a name; it knows how to talk in numbers and connections. Everything that happens after Enter is the work of turning that readable address into a page on your screen.

Key concept

A URL is just an address: text pointing to a resource. It doesn't contain the page; it only says where to find it.

Reaching it coordinates several layers in a chain: translating the name into a number, opening a connection, sending a request and, with the response, rendering. Each layer solves one part and hands the result to the next.

1. From name to number

Machines don't find each other by name, but by IP address —a number like 93.184.216.34—. The first step, then, is to translate bank.com into that address. That's the job of DNS (Domain Name System), the address book of the internet.

The browser asks "what IP does bank.com have?" and a chain of DNS servers answers. If it queried recently, the answer comes from a cache in milliseconds; if not, the question travels across several servers until it reaches the domain's authority. The detail of how that chain works is covered in the DNS: the address book of the internet entry.

2. Opening the connection

With the IP in hand, the browser opens a TCP connection to that server. TCP is the protocol that guarantees the data arrives complete and in order; in HTTPS, that connection goes to port 443. Opening it costs a network round trip: the browser says hello, the server replies, they're in sync.

If the site uses HTTPS —as any bank should—, before sending a single useful byte the TLS handshake happens: browser and server negotiate the encryption and verify the site's certificate. Only once that tunnel is ready does anything real travel. The reasoning behind TCP versus its alternative is in TCP vs UDP, and what that padlock actually protects is in HTTP and HTTPS.

3. The HTTP request

With the tunnel open, the browser finally sends the HTTP request: something like GET /accounts, plus a set of headers stating who's asking, which language it prefers and which caches it carries. It's the concrete ask: "give me this resource".

  1. The browser sends the request: method (GET), path (/accounts) and headers.
  2. The server processes it and responds with a status code (200 if all went well, 404 if it doesn't exist, 301 if it redirects…).
  3. Along with the code, the server returns the body: usually the page's HTML.

That status code and that HTML are the response. The details of what travels in each request and what stays protected by encryption are in HTTP and HTTPS: what travels in the clear and what the padlock protects.

4. The browser builds the page

Receiving the HTML doesn't mean having the page ready: it means having the blueprint. The browser parses that HTML and, as it reads it, discovers it needs more things: stylesheets (CSS), scripts (JS), images, fonts.

For each of those resources, the browser fires a new request —and each one repeats, in part, the previous cycle: it may require another DNS resolution, another connection, another response—. As they arrive, the browser builds the visual tree, applies the styles, runs the JavaScript and finally renders: it paints the page you see. A single URL can end up generating dozens of requests.

What's along the way

None of this travels in a straight line. Between your browser and the final server, the request crosses DNS resolvers, routers that route it hop by hop, and often CDNs (which serve a nearby copy of the content), proxies and load balancers that spread traffic across servers. Each piece exists to go faster or handle more load, but each is also a point where something can stall.

  1. DNS: the name bank.com is translated into an IP address.
  2. TCP: the browser opens a connection to that IP (port 443 in HTTPS).
  3. TLS: browser and server negotiate the encryption and verify the certificate.
  4. HTTP: the browser sends the request (GET /...).
  5. Response: the server returns a status code and the HTML.
  6. Render: the browser parses, requests more resources and paints the page.

The banking angle

When the page is a customer's online banking, this choreography stops being a curiosity and becomes a responsibility. Each layer adds latency and, at the same time, is a point of failure: a slow DNS resolution or a distant server feels like "the bank is slow", even when the problem is far upstream of the backend.

That's why, in banking, specific things are guarded:

A simple URL hides a choreography: name to number, connection, request, response and render, each step leaning on the one before. Understanding that sequence is, literally, understanding how the web works —and knowing exactly where to look when it stops working.

Jorel del Portal

Jorel del Portal

Systems engineer specialized in enterprise software architecture and high-availability platforms in banking and finance.