What happens when you type an URL in your browser and press ENTER?

Andres González Franco
6 min readApr 26, 2021

--

From Clem Onojeghuo

Well, we can go as deep and detailed as we want in this explanation. We can go that deep that we can even talk about the atoms in the electricity when it travels with our information throughout the cables, but we don’t want that.

Today we will overthrow the myth about the internet as a “cloud”. It is not a cloud, they are just another computer, period. When you navigate or connect to a specific “site” there are tons of processes happening before connecting to a server(which is basically another computer).

Let’s explore the journey of your curiosity when trying to reach some information from a website.

Your browser

First things first: no matter if it’s Chrome, Firefox, Edge, Opera, or any other of your preference, your “postal service” to connect to any website will be a browser. A browser is a program made with several functionalities, one of them is to read, interpret and render the files of any website(all of them are usually made with HTML, CSS, and JS) to show you the content. But another function is to request those files from another place to bring them to you.

The cool thing is that you just tell it from who do you want to receive this information(in this case an URL), for example, “google.com” or “holbertonschool.com”, and it will make all the work for you.

From Quino Al

Before the browser starts “making the calls” to receive the information it will go first to the nearest information provider, which is the same OS(Operative System) where it is allocated, and it will access the caché(I know you have heard about this term before and you will finally understand what it is). The chaché is a reserved storage location in your computer or device that saves relevant files from the frequent website you visit. If the browser finds some information about the URL you requested to visit, it will help you to load the content faster.

If not, it will however start the long journey. And the first layer is the DNS.

I know you are anxious about knowing the exact steps. But let’s talk briefly about TCP/IP

TCP/IP(Transmission Control Protocol/Internet Protocol)

This would be like the bible of internet communication, the rules that allow communication and information transmission. It is divided into layers and each layer has its own protocols. But don’t worry we will mention just the basic ones.

Firewalls

From Kayla Speid

It may be a hardware or software device. Firewalls can filter packets based on their source and destination addresses and port numbers. They can act in different layers of the model.

DNS(Dynamic Name Service)

From Tim Mossholder

Every website has an identification, and that is an IP address, it's something like your home physical address. Let’s say that you want to create an account on Facebook, for example(it’s not real) facebook’s IP address is 198.105.232.4. We just can’t say “hey bro, go ahead and create a profile at 198.105.232.4”

First, you won't memorize that number, and second, we just don’t understand what it means(we don’t need to). That’s why DNS was created.

DNS is a service that translates a domain name into an IP address or vice versa.

Your browser will ask the DNS about your URL. If it exists, then the browser will create on your RAM an HTTP request.

HTTP/SSL

There are other protocols happening but this is the last and most important protocol from the main TCP/IP model we are going to talk about today.

As mentioned above an HTTP request is made to the IP address. This request has some structured and specified information in form of a “header”. This header will contain the information of who is requesting the communication with the final server. These are some of the tags a header contains:

  • Host(e.g facebook.com)
  • User-Agent(e.g Chrome version and OS version)
  • Accept-Language
  • etc.

SSL( Secure Sockets Layer)

We have to mention that this is an important certificate every website should have.

It protects websites from phishing scams, data breaches, and many other threats. Ultimately, It builds a secure environment for both visitors and site owners.
https://www.namecheap.com/security/do-i-need-ssl-certificate/

Load Balancer

From John Schnobrich

This is not a protocol but is a type of server that will regulate or manage in a better way all the requests coming to the web server we are looking to access. This load balancer will avoid the webserver to collapse by deciding which one of the servers of the IP address will access. A web server can use several servers to avoid collapse if there is a big amount of users trying to access it. Imagine that you study at a school and ALL the people studying there access your personal computer so they can open chrome, videos, pdfs, etc. It will certainly make your computer crash. That is something that could happen on a big scale with web servers, that’s why they use Load Balancers.

Web Server

Your HTTP request finally reached the destination, the webserver. A web server as mentioned initially could be a physical or a virtual machine.

The webserver provides a service for hosting and managing websites specifically. These websites are accessed by users via a compatible web browser, by doing all the process we have explained until here(through the HTTP requests, etc)

But let’s talk briefly about application servers

Application servers

A web server can be classified as an application server but not vice versa. Depending on the website we are trying to access we will see if it is designed as an application server or not. They are designed to install, operate and host applications and services for end-users. Usually, they are used for dynamic websites, where according to the information you input it will change and update the info in the server database. An application server will be the best practice when using databases, keeping them safe and updating other services the platform offers for the end-user.

Databases

From Jan Antonin Kolar

A database is a collection of information that is organized so that it can be easily accessed, managed, and updated. These databases tend to integrate with other applications and systems. An application server or database server can contain many databases.

Depending on the nature of the website, the HTTP request will try to ask for information from these databases. Depending on the type of request and the nature of the platform, it will be updated, managed, or just accessed to be read.

Final response

From Jen Theodore

Even if it was a failure or a success we will receive an answer from the web server through the same HTTPS protocol. They will send us an HTTP header response with the information we requested(or not) but we will always receive an answer. If it was a successful request we will receive the assets, which are the files the browser needs to render, and show us the information. If not it will even show us an error(I guess you have received or heard about the famous 404 response).

This was just the top of the iceberg, but I hope it could help you and give a clue on what in the world is happening once you press enter in your web browser when looking for a website.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Andres González Franco
Andres González Franco

Written by Andres González Franco

Still work in progress, but I wouldn't have been the person I am today if I haven't satisfied all my curiosites

No responses yet

Write a response