What happens when you type holbertonschool.com in your browser and press Enter

Domain Name

Well the first step is to type in the URL of the website in the browser. However, the URL that we as humans can understand as readable words is like a foreign language to the browser. So, this must be converted into a more readable website address for the computer or machine in charge of finding the website.

DNS System

This is where the DNS (Domain Name System) comes in. The DNS is a database system that holds a record of all URLs and their corresponding IP address. In case you didn’t know, an IP address is a set of numbers separated by dots “.” that map the location of a computer or server hosting the website content and database for that website. Therefore, the DNS plays a very important role in the serving of websites and overall internet service. If the DNS server is able to locate the IP address of the website, it will return it in order for the web server to know exactly where to look. However, if the DNS server is not able to locate the the corresponding IP address for the URL or the URL is simply not valid, it will return an error: “404 not found”.

TCP/IP

Once the browser has obtained the correct IP address, it will establish a connection between the client computer and the web server hosting the site using a transfer protocol. There are a few transfer protocols but we will use TCP/IP (Transmission control protocol/Internet Protocol) for this purpose. Once the connection is established, the browser will send an HTTP request to the web server in the form of headers. A header can be thought of as instructions to the server to specify what exactly it wants from it. Sometimes a header can contain this line “connection: Keep-Alive”, which basically tells the server to keep the connection open.

Firewall

However there are a few factors that must be taken into account. The Web server usually has a firewall that prevents certain information from flowing in and out of the web servers. A firewall is a software or hardware that controls what enters or leaves a server. These are used to block ports and prevent malicious attacks on a computer or system. Therefore if the returned IP address (eg: 123.45.31.198) is detected by the firewall as a malicious website, it will close the connection and block the website.

HTTPS/SSL

Also, If the web server is SSL (Secured Socket Layer) certified, it will encrypt all of the information flowing in order to prevent or make it harder for hackers or attackers to access client information. In order to know if a website is SSL certified, you can see if the URL has an “https” which stands for Hypertext Transfer Protocol Secured. This is most important for websites that handle a lot of credit card information or very fragile client credentials.

Load-Balancer

Once, the firewall and SSL have done their job and permitted a safe transfer of information, the Load-balancer server will take the role of redirecting the request to one of the backend servers. “Why is there a load-balancer?”, you may ask. Well the reason for this is that sometimes there are to many requests from different clients to the website. So the load-balancer distributes the requests evenly to the server is order to regulate the connection and prevent slow connection. The load-balancer can be considered a single point of failure because once that fails, the request will not get to the web servers, hence not providing any service.

Web Server

If the load-balancer was successful at its job, the request will get to the web server where the HTML content of the page can be found. The purpose of the web server is simply to deliver the web content requested by the browser. However, a number of things happen in the web server in order to deliver the content.

Use of the Application server

Usually a web server will contain an application server which overall supports the web server and connect to the database and other components of the web server. It simply makes the job of the web server easier and allows for a more dynamic use of websites through user interaction.

Database extraction

Lastly, once the request has been interpreted by the web server, the application server will help to extract the necessary data from the database that must be delivered. A database is a collection of data stored in a server that holds useful information of a the website and its users. A very popular database used world wide is MySQL database and it supports adding, removing and modifying data.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store