What happens when you type https://www.google.com in browser and press Enter

Jubriltayo
5 min readApr 23, 2023

--

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.

Client-Server Request/Response

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.

Transfer of data packets between devices

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.

Firewall filtering/screening incoming traffic

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.

HTTPS — A secured HTTP

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.

Load balancer distributing network traffic to web servers

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.

Web Server

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.

Application server

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.

Database

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.

Web — Infrastructure design of the flow

--

--

No responses yet