Every URL (say, “www.google.com”) has its own numbered Internet Protocol or IP address.
An IP address looks something like this:
An IP address is a series of numbers that tells us where a particular device is on the Internet network, be it the google.com server or your computer. It’s a bit like mom’s phone number: just as the phone number tells an operator which house to route a call to so it reaches your mom, an IP address tells your computer which other device on the Internet to communicate with — to send data to and get data from.
Your browser doesn’t automatically know every IP address for the 35 billion (or more) devices on the planet that are connected on the Internet. It has to look each one up, using something called the Domain Name System. The DNS is essentially the “phone book” of the Web: while a phone book translates a name like “Acme Pizza” into the right phone number to call, the DNS translates a URL or web address (like “www.google.com”) into the right IP address to contact (like “22.214.171.124”) in order to get the information that you want (in this case, the Google homepage).
So when you type in “google.com” into your web browser, the browser looks up google.com’s IP address through a DNS and contacts it, waits for a response to confirm the connection, and then sends your request for google.com’s web page to that IP address. Google’s server at that IP address will then send back the requested web page to your computer’s IP address for your browser to display.
In many ways, fetching and loading a web page in the browser is not unlike making a phone call. When you make a phone call, you’d probably look up the number, dial, wait for someone to pick up, say “hello,” and wait for a response before you start the conversation. Sometimes you have to redial if there are problems connecting. On the web, a similar process happens in a split-second; all you see is that you’ve typed “www.google.com” into the browser and the Google home page appears.
In the next chapter, we’ll look at how we can verify the identity of a website that we fetch and load in the browser through the extended validation certificate.