Adesuyi Adegbenga
2 min readMay 9, 2024

--

What Happens When You Type https://www.google.com in Your Browser?

This post will focus on the nitty-gritty of each step of the process, from the DNS resolution to the database retrieval, to better depict how your browser communicates with a web server to fetch (get operation) and display the desired content ( if the status code is of type (2xx).

There are quite many steps, but let us start with them below.

1. DNS Request:

Domain Name System (DNS server) stores the IP addresses of computers on the network (eg., 216.58.223.196) and the domain name attached to them (eg., www.google.com).

Your browser sends a DNS query to a DNS resolver, which could be your ISP’s DNS server or a third-party DNS service. The DNS resolver takes the domain name and returns the IP address matching if found, otherwise, other DNS servers are queried.

2. TCP/IP:

When the IP address is returned to the browser, it then initiates a TCP (Transmission Control Protocol) connection to the web server. This ensures the integrity and stability of a connection, ensuring data packets are delivered in the correct orders and error-free using its error detection and correction mechanism.

3. Firewall:

. The firewall can be a standalone hardware or software installed on the server itself, to inspect the packets to ensure they are in line with security policies and restrict any suspicious or malicious traffic.

4. HTTPS/SSL:

Websites implement HTTPS (Hypertext Transfer Protocol Secure) to ensure safe communication over the TCP connection using the SSL (Secure Sockets Layer) or its successor TLS (Transport Layer Security) protocol. This ensures that sensitive information, such as login credentials or personally identifiable information (PII), remains confidential and secure during transmission.

5. Load Balancer:

For a website like Google, incoming requests are distributed across multiple servers to enhance performance by reducing the load on a server based on various load-balancing algorithms. The load balancer is positioned between your browser (the client) and the server.

6. Web Server:

The connection once established allows requests to reach the server, and the installed web server software (eg., Apache, Nginx) processes the request. It retrieves the requested webpage or resource from the server’s file system, generating it dynamically based on the request parameters.

7. Application Server:

Some requests for dynamic websites or web applications may be passed to an application server. The application server (e.g., PHP, Python, Java) executes the necessary code to generate dynamic content or interact with databases and other resources.

8. Database:

The application server queries the database if the requested content requires accessing the database (e.g., search results, user profiles). The retrieved data is combined with the template and generates the final HTML response sent back to your browser.

--

--