Maybe you are asking what happens when you press enter after typing an address on a browser. Let me tell you a bit about this.
I am going to explain it using the example of www.holbertonschool.com
First I will write on the browser and hit enter, which leads me to the webpage.
But what happens behind scenes?
After you hit the enter button, your browser will start looking for a DNS domain name on the DNS (Domain Name System).
Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
Each device connected to the Internet has a unique IP address that other machines use to find the device. DNS servers eliminate the need for humans to memorize IP addresses.
TCP/IP stands for Transmission Control Protocol/Internet Protocol. TCP/IP is a set of standardized rules that allow computers to communicate on a network such as the internet.
IP is the part that obtains the address to which data is sent. TCP is responsible for data delivery once that IP address has been found.
A firewall is a division between a private network and an outer network, often the internet, that manages traffic passing between the two networks. It’s implemented through either hardware or software. Firewalls allow, limit, and block network traffic based on preconfigured rules in the hardware or software, analyzing data packets that request entry to the network. In addition to limiting access to computers and networks, a firewall is also useful for allowing remote access to a private network through secure authentication certificates and logins.
Is recommended to have a firewall on every server.
HTTPS (Hypertext Transfer Protocol Secure) is a secure version of the HTTP protocol that uses the SSL/TLS protocol for encryption and authentication.
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.
Now that the browser knows the IP corresponding to the https://www.holbertonschool.com domain, it will send a customer request to the server identified with this IP. But first, this request will have to pass through the load balancer.
The load balancer is a piece of hardware deployed between the servers and the client. And is in charge of the distribution of traffic. To increase the reliability, efficiency, and availability of the website.
In other words, the load balancer will determine to what server sends the request (in case there is more than one server), for better performance.
In computing, a server is a piece of computer hardware or software (computer program) that provides functionality for other programs or devices, called “clients”. This architecture is called the client-server model. Servers can provide various functionalities, often called “services”, such as sharing data or resources among multiple clients or performing computation for a client. A single server can serve multiple clients, and a single client can use multiple servers.
In this case, the server will be composed of a web server, an application server, and a database.
- Web Server: This is the technology that serves up a website to users when they visit a URL. On the technical side of things, what that means is that it handles the hypertext transfer protocol (HTTP).
- Application Server: This hosts the code that provides the functionality needed to build and run dynamic content. An application server is essentially the software framework that allows programs and websites to create and serve up dynamic content.
- Database: A database is a collection of information that is organized so that it can be easily accessed, managed, and updated.
So, after the load balancer algorithm sends the request to a server, this server will process it and return the webpage.
Here is an example of a web stack diagram to help you see it more clearly:
This might be difficult to understand at first, but hopefully, this blog helps you to know better what is going on under the hood of the internet.
Thank you for reading!!