There are only a few things in life we use daily but understand as little as the air we breathe. The internet is one of them. What happens when you type www.google.com in your browser and hit enter? We’ll take a step-by-step look on all of the processes the computer goes through to retrieve the requested data.

1. DNS REQUEST

What is a URL? Is it the same thing as a domain name?

The answer is no. URL stands for Uniform Resource Locator. It is a combination different elements including the domain name. For the purposes of understanding how the internet works, we’ll focus mainly on two of these elements: the protocol and the DNS.

Have you ever noticed the letters httpat the beginning of the URL? It stands for hyper text transfer protocol and simply put, it is a method through which the computers transmit data between other computers and servers.

Domain name on the other hand in this URL example: https://holbertonschool.com is just the holbertonschool.com. Domain names are associated with a specific IP address. Computers request and receive with servers using IP addresses. It’s the job of the Domain Names System to link the requesting computer to the correct IP address so you the client can access the correct page.

Diagram

Description automatically generated

https://royal.pingdom.com/2009/06/08/a-visual-explanation-of-how-dns-lookups-work/

Above is a good visual representation of how the DNS requests are made from the client.

1.     The operating system on your computer checks your cache to see if it has a record of the IP address to the website you’re trying to reach. If not, the following steps occur in sequence.

2.     It makes a request to the recursive name server which tries the root server.

3.     It then makes a request to the TLD name servers.

4.     Finally, the authoritative name servers returns you the IP address of the website you’re trying to reach.

2. TCP/IP

TCP/IP protocol is basically a suite of communication protocols used to connect devices in a network or the internet. It manages how data is transmitted over the internet. In simple terms, TCP breaks down data into smaller packets and sends them over to the end user with instructions on how to reassemble them back together.

Diagram

Description automatically generated

3. Firewall

The firewall is a network security monitoring software(or hardware) that tracks traffic coming in and out of the network. Its primary job is to filter and block certain traffic based on predetermined rules. It is really a metaphorical wall between you and the internet.

Diagram, engineering drawing

Description automatically generated

4. HTTPS/SSL

As mentioned above HTTP is the protocol through which data is transferred from the server to the user. The ‘S’ attached at the end stands for ‘Secure’. When devices transfer data using just the HTTP, the data is more vulnerable to nefarious acts. One way of protecting the data during its transmission process is to encrypt it so that malicious agencies have a harder time making sense of the stolen data. SSL is the service that provides the S certificate to your http website. Once you set up your http to be secure via the SSL certification process, your protocol will change from http to https letting users know that your site is secure. The downside here is that the encryption process will make transferring of data, slower.

5. Load-Balancer

Let’s say you have a large user-base and need a more efficient way of managing the traffic coming in and out of your servers. Using a load-balancer is your answer. It can distribute the traffic flow to your web servers based on the algorithm you set. The simplest load-balancer algorithm is the round robin- it distributes client requests to each server in turn in a circular order.

Similar to a firewall, the load-balancer can be a software and a hardware.

6. Web Server

The server is a physical piece of hardware that stores files containing to a website. The web server is a software on a physical server that takes in requests from users, locates the files(i.e. html), then sends them back. This is what we call a static web server. The static server gives back to the user everything “as-is”. None of the contents are changed before sending them back to the user.

7. Application Server, Database

The application server is an extra software used in conjunction with the static web server. It updates the hosted files before it sends them back to the user. So for example, let’s say that you have a set of user information stored in your database(a structured set of data stored in memory or computer) and you’re requesting that information to be displayed in the way specified by the html page. What the application server does is- it queries the user information from the database, updates the contents with the queried information, then delivers the web packet to the user.

Diagram

Description automatically generated