What happens when you type a website name and hit enter?

Diego Acosta
3 min readMay 8, 2022

In the next lines I’ll try to explain you the path since you type in your browser the name of the website you want to access to until it is shown in your screen.

1) DNS Request

Imagine you want to call a friend, a relative, whoever, and you don’t remember their phone number. So you take your phone book, search their names and there you’ll find their number. Ok, internet works in a similar way. Websites (following the analogy, our friends) are allocated in servers, and to access to them we need their IP (the phone number). The first thing is that your browser searches in the host file (our phone book) allocated in the system if it has a record for the given URL. If there’s a match, the browser will connect to the server hosted in IP address associated to the URL in the host file. Otherwise, there’s a longer process and here you can find a beautiful explanation of it.

2) TCP/IP

To establish the connection between user and server, exist several protocols which indicates how will be the communication. Let’s focus in one of the main protocols: TCP/IP, which stands for Transmission Control Protocol/Internet Protocol. TCP/IP breaks down the message sent into packets and sends those packets out into the network. It also adds headers to the message, which provides instructions for special handling. On the receiving end, TCP/IP reads the headers, handles the instructions and data appropriately, and puts the message back together again. A good thing of TCP/IP is that after sending each packet, it looks if the packet arrives to its destiny, making possible that the message will be sent complete without any lost.

3) Firewall

According to CISCO, “firewall is a network security device that monitors incoming and outgoing network traffic and decides whether to allow or block specific traffic based on a defined set of security rules”. If the incoming message to our devices or to a server is trustworthy, the connection will go ahead.

4) HTTPS/SSL

HTTPS (Hypertext Transfer Protocol Secure) is a secure version of the HTTP protocol that uses the SSL/TLS protocol for encryption and authentication. SSL (Secure Sockets Layer) and its successor, TLS (Transport Layer Security), are protocols for establishing authenticated and encrypted links between networked computers. An SSL certificate (also known as a TLS or SSL/TLS certificate) is a digital document that binds the identity of a website to a cryptographic key pair consisting of a public key and a private key. The public key, included in the certificate, allows a web browser to initiate an encrypted communication session with a web server via the TLS and HTTPS protocols. The HTTPS protocol makes it possible for website users to transmit sensitive data such as credit card numbers, banking information, and login credentials securely over the internet. For this reason, HTTPS is especially important for securing online activities such as shopping, banking, and remote work.

5) Load balancer

Before getting to the server we’re looking for, we can find a load balancer. According to loadbalancer.org, “load balancer efficiently balances server load. It sits in between the user and the server cluster and distributes all the requests from users across all servers capable of fulfilling those requests”.

6) Web server

It’s a software or a hardware (or both together) that stores and delivers content to a web browser at a basic level. It communicates with browsers using various protocols as HTTP, SMTP or FTP. It’s also used for hosting websites and data for web applications. It can hosts single websites and multiple websites using virtualization.

7) Application server

Like web server, it can be a software or a hardware. It’s a system software running behind the web server, upon which web applications or desktop applications run. It consists of web server connectors, computer programming languages, runtime libraries, database connectors, and the administration code needed to deploy, configure, manage, and connect these components on a web host.

8) Database

It’s an organized collection of data stored and accessed electronically. It can be stored in a file system (if it’s small) or on computer clusters or cloud storage (if it’s large). The stored data can be accessed to be created, retrieved, updated or deleted.

--

--

Diego Acosta

Software Engineer Alumni @ Holberton School - MVD->UY