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

Yashey Mateen
5 min readJan 13, 2020

A story about the inner workings of the web stack

Image Credit

In this day and age, we may overlook just how vastly information travels when we type in a web address on a computer and get taken right to the website for which we intended. This article seeks to dive in to the inner working of how the web traffic routes you from your web browser all the way to the website for which you typed. Maybe you’ll have a better understanding next time you type in www.google.com into your web browser.

DNS — Domain Name System

A DNS server is just vast database containing public IP addresses along with their domain names. Every domain name, i.e. google.com . is linked to a public IP address such as 75.38.194.84 (not the actual IP). We have a DNS server to make accessing websites for UI-friendly and helps you to remember the name of the domain rather than its IP address.

One known method is DNS Caching. This method depends on finding this IP address linked to the associated website, and then once its found it is then cached for a limited time until someone else tries to find the same website. This way it does not have to be searched again through the database and makes accessing the website vastly quicker.

TCP/IP

Two protocols essential for delivering packets of information from the source to the destination is the IP, which is the foundation of network connections. The TCP is required to handle those packet ordering and checking for errors. They are needed to work together for someone to retrieve that information. The TCP makes sure you are not missing any information that the information has successfully made it to the sender.

Firewall

The firewall is a barrier between your network and the incoming traffic from the internet. It is a part of a computer system or network that is designed to block unauthorized access while permitting outward communication.

Firewalls carefully analyze incoming traffic based on pre-established rules and filter traffic coming from any secured or unsecured sources to prevent suspicious attacks on the network. They mainly guard this traffic via computer’s entry points, called ports, where information is exchanged.

They are kind of like houses, where the port numbers represent entry points to the house such as doors, windows, attics, etc. Only the pre-established rules, aka people, are allowed to enter the house whereas guests will need a special code or being allowed in by the homeowners. The children may also be allowed in only in special areas, or special ports.

HTTPS/SSL

Http is a protocol that exchanges and communicates information between your browser and web browser. The more secure version would be HTTPS, the “s” meaning secure. SSL is needed to carry out the encryption of the data exchange between your browser and the web servers. It means “secure sockets layer” and was originally used by Netscape in 1995.

The way it works is that the domain itself is verified which is necessary to access the website. Secondly, the certificate is manually verified and validated by the organization who owns the certificate. and Lastly the the certificate itself needs to be verified by the business who owns the web servers. If you notice the lock on the left side of your web browser where you web address is, this means that a valid connection has been made between your web browser and the server.

Load Balancer

Image Credit:

Load balancing is essential in that it is the process of distributing network traffic across multiple servers. This ensures that no single server bears too much demand. By spreading the demand across multiple servers this insures that applications respond quickly and efficiently. It also increases the availability of apps and websites to users.

They are kind of like traffic directors or signals in that traffic is redirected to points where there is less traffic and helps to reduce congestion on one street. Some example of a load balancer algorithm would be round robin, least connections, and IP Hash. HaProxy is also a software that provides a load balancer.

Web Server

A web server could be a software or a hardware. Whenever you need to access a file from a web server an http request is sent to the web server that searches for the file and returns the web page with the proper protocol. The server side however, must first host or store the files in the web server. Having a web server is beneficial in that the files will always be running and be accessible to any users attempting to access it. The web server is responsible for storing static content.

Application Server

An application server is a software or program that stores all the application operations between the end users and the backend, aka the database. An app server, as opposed to a web server, can handle any type of protocol. They are known to server dynamic content that allows the user to interact with a page. These are essential in logging into bank accounts, user accounts, forms for any type of account.

Database

Image Credit:

A database is an organized collection of structured information, or data, stored electronically in a computer system. It is usually controlled by a DBMS, or a database management system. Some examples of DMBS are MyOracle, SQL, MySQL, NoSQL, and Microsoft Azure. It’s necessary to form a database if you need to store public or private information such as typing in holbertonschool.com. Without the database, the application server wouldn’t be able to pull information in order to use in the website and hand over to the end user.

--

--

Yashey Mateen

Software Developer, Business Consultant, with a head in the clouds.