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

Brayan Florez
5 min readApr 11, 2020

Before starting. It’s necessary to understand that there are some steps that are executed in this process such as the following ones.

DNS request

Whenever we type any URL like https://www.holbertonschool.com in any browser such as Chrome, Mozilla Firefox, Opera, Microsoft Edge and so on and we press ‘Enter’. The first thing that the engine is going to do is to tear apart into pieces the whole URL in order to get the domain name which is going to be associated with an IP (Internet Protocol) address. If the engine does not recognize that domain name (if you have never searched for it) it is not going to be stored in the cache. Here is basically where the DNS (Domain Name System) enters to do its work, it is going to search on every single IP which corresponds to the domain system. This IP is the one-of-a-kind address of the main server hosting the website. An IP is a quartet separated by dots in the range from 0 to 255.

The request is reaching the server IP on port HTTPS 443.

A domain name is divided like so:

A subdomain is commonly used to logically separate a website into sections like forums, support and so on.

We already have checked what a domain name is.

A TLD (Top Level Domain) typically identifies something about the domain associated with it, such as the website's geographical area where it originates, its purpose or the organization that owns it so the root server knows there TLD server is.

TCP/IP protocol

TCP stands for Transmission Control Protocol and it’s part of the Internet protocol suite. Simply it is a set of rules that define how servers and clients interact between them over the network, and it basically provides end-to-end data communication specifying how data should be packetized, addressed, transmitted, routed and received.

Firewall

It is a network security device, software or both that monitors all outgoing and incoming network traffic and decides whether to allow it or block it based on a set of security rules that are established. Firewalls have been the first line of defense in network security for more than 25 years.

In this case, since the protocol is HTTPS all the requests and responses are passing through the firewall accepting traffic on port TCP/443.

HTTPS/SSL

HTTPS (HyperText Transfer Protocol Secure) is the secure version of HTTP and it is encrypted in order to increase security and data transfer, this is important when users transmit sensitive data. This protocol appears when a website is secured by an SSL certificate.

SSL (Secure Sockets Layer) is an encryption-based Internet security protocol. To get this certificate it’s necessary to create a CSR (Certificate Signing Request) on the server which creates a private and a public key on it. The CSR data file that it’s sent to the SSL Certificate issuer called CA (Certificate Authority) containing the public key. The CA uses the CSR data file to create a data structure to match the private key without compromising it. Those keys work together in order to establish an encrypted connection.

Load-balancer

It is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. They are used basically to increase the capability and reliability of applications.

Load balancers are grouped normally in two groups:

  • Layer 4 in which load balancers act upon data found in network and transport layer protocols such as IP, TCP, FTP, and UDP.
  • Layer 7 in which load balancers distribute requests based upon data found in application layer protocols like HTTP.

Those requests are received by both types of load balancers and they are distributed on a configured algorithm such as round-robin, weighted round-robin, least connections and so on.

  • Round-robin: The first request is sent to the first server, then the nest to the second and so on until the last one.
  • Weighted round-robin: It is the same round-robin algorithm as its name says but, in this case, the most powerful units that receive the largest amount of requests receive them first.
  • Least connections: Distributes the requests depending on the current server loads.

Web server

A web server can refer to hardware and software. What basically does as hardware is to store a website’s component files like HTML files, images, CSS files and JS (JavaScript files) and as software, a web server includes several parts that control how web users access hosted files and deliver their content to the end user's device as an HTTP or HTTPS response.

Application server

An application server is a server that is specifically designed to run and operate applications, it processes data communicating with databases and managing user information, it distributes and monitors software updates and everything in real-time returning the result to the web server which can output the result in a web browser.

Database

This is the last step in web infrastructure, the Database Management System (DBMS). The DBMS is the program that interacts with the database and creates, reads, updates and deletes data on it.

A database is an organized collection of structured information or data, which is stored electronically in a computer system. Most databases use Structured Query Language (SQL) for writing and querying data.

The most common types of databases are relational databases and non-relational databases. A relational database is a collection of tables representing objects, its columns can be seen as attributes and every single row is an instance of that object, MySQL is a really popular database. A non-relational database is a database that does not use the tabular schema of rows an columns found in most traditional database systems they are called NoSQL databases.

To finish it is necessary to say that all this process that might be a little complicated it’s executed in microseconds and that’s basically the magic of the Internet.

--

--