What happens when you type https://www.google.com in browser and press Enter
A simple web search is not as straightforward as envisaged, as there are a lot of requests, redirections, security and traffic checks that happen in the background. Before we dive into the details there are some fundamental concepts that will be discussed in this post to further understand the concept better.
DNS request
When a user types https://www.google.com in his/her browser (which is oftentimes regarded as a Uniform Resource Locator (URL)) and presses Enter, a request is sent from the client (browser) to the server to receive information about the web page. However, there are some stopovers needed before it reaches its final destination, with the first being the conversion of the URL to an IP address. What’s a postman without an address? This is done by sending the request to a Domain Name System (DNS) server to convert the domain name (https://www.google.com) to an IP address. It is necessary to do this, because the computer stores IP addresses in numbers which are difficult for humans to remember. The best way for a computer-human resolve on the domain name-IP address issue is through the DNS server.
TCP/IP
Knowing fully well the address of the server is being located through an IP address, there are some protocols or rules already in place to ensure effective communication between devices on the internet. The TCP/IP (Transmission Control Protocol/Internet Protocol) is a standard protocol which determines how data is being transferred over the internet with great consideration to error checking and orderliness.
Firewall
During the transfer of data between the client and server, there is a need to secure this connection by blocking certain types of incoming traffic from interfering with the transmission. Firewall is a security device used to monitor network traffic between different networks such as the Internet and a private network. It is majorly used to protect networks and sensitive data from unauthorized access and cyber attacks.
HTTPS/SSL
Requests can be sent from a client to server using different transfer protocols such as HTTP, HTTPS, SMTP, FTP, etc. A secured form of the HTTP is the HTTPS. Hypertext Transfer Protocol Secure (HTTPS) is a protocol used for secure communication over the internet. It uses the HTTP protocol and a Secure Sockets Layer (SSL) which uses an asymmetric public key infrastructure system. HTTPS ensures encrypted transfer of data between the client and the server to avoid interception by a third party.
Load Balancer
Due to many users trying to access https://www.google.com at the same time may cause the server to crash. This will actually cause an overload on the web server and will therefore require multiple servers with different IP addresses. To ameliorate this effect, a load balancer is added to the web infrastructure. A load balancer is a device or software that distributes network traffic across multiple servers to optimize resource usage, improve responsiveness and availability, and prevent overloading or downtime of any individual server. It does this through algorithms such as Round Robin, Weighted Scheduling etc.
Web Server
Yes! We have reached our destination via the help of the aforementioned stages. The web server is a software application that delivers web pages to clients (browser). It stores files on a server and transmits them over the internet using requests sent from the user agent. Now that the web server has received the request, it sends the requested data (i.e. web page of https://www.google.com) from its storage to the client.
The web server sends responses back to the client through the channel from whence it came.
Application server
An Application server is the intermediary between browser-based databases and back-end databases. It is a service provider just like the web server. However, while the web server delivers static web content such as HTML pages, images and videos over the HTTPS protocol, the application server is more advanced as it provides wide range of services even beyond web serving, but also middleware services such as messaging, transaction management, security services and integration with databases and other back-end systems. Application server is used for building and deploying dynamic, data-driven web applications.
Databases
The database is where all the information are stored. It organizes the information gathered so it can be easily accessed, managed and updated. The application server retrieves data from the database and sends the response back to the client.
Conclusively, the aforementioned steps happen behind the scenes anytime you type https://www.google.com in your browser. It is a lot right? Glad we don’t have to manually perform these operations each time we access https://www.google.com. It is however imperative to understand the workflow and mechanisms of these operations as it is essential in building and maintaining modern web applications. Below is the visual representation of the entire process.