What happens when you type google.com in your browser and press Enter
DNS request
When you’ve typed google.com into your browser and pressed enter, the browser needs to figure out which server on the Internet to connect to. To do that, it needs to look up the IP address of the server hosting the website using the domain you typed in by checking its local DNS cache to see if it already knows the IP address associated with the domain.
If it doesn't find the information, it sends a DNS request to a DNS resolver or DNS server. These servers are responsible for looking up the IP address associated with the domain name. The DNS servers do a recursive DNS lookup which asks multiple DNS servers around the Internet, which in turn asks more DNS servers for the DNS record until the IP address is found.
TCP/IP
For your request from the browser to get routed until it finds the server with the IP address to connect to, it has to follow a set of protocols known as the Transmission control protocol (TCP)
Transmission Control Protocol/Internet Protocol is a set of networking protocols that form the basis for communication on the Internet and many private networks. It is a suite of protocols that allows computers and devices to communicate and exchange data over networks, ensuring reliable and standardized communication.
Firewall
Before your request gets to their server, it will pass through a firewall which is a network security device or software that acts as a barrier between their network and your request. Its primary purpose is to monitor, filter, and control incoming and outgoing network traffic, allowing or blocking data packets based on a set of predefined security rules and policies.
HTTPS/SSL
HTTPS (Hypertext Transfer Protocol Secure) is used for secure communication over a computer network, typically the Internet. It adds a layer of security by using encryption techniques to protect the data transmitted between your web browser and a web server.
When your browser establishes a connection with Google's server using HTTPS, your browser and Google's server first agree on the version of SSL/TLS to use and then create a secure, encrypted channel for transmitting the data.
Load-balancer
To optimize performance, and enhance the availability and reliability of services. Load balancing is used to distribute incoming network traffic across multiple servers or resources.
Web server
Your request is then sent to a web server after it has passed through all the processes stated above, which then retrieves and delivers the requested content to your browser.
Application server and database
Before the web server delivers the requested content to your browser, it has to send the request to an application server which may also need to request a database depending on the complexity of the search query, after which it processes the request and generates the search results that the web server delivers to your browser