What happens when we type google.com in your browser and press enter?
DNS request
When we type google.com in our browser, the domain name must be translated into the IP address connected to that domain name. The need for the conversion into an IP address is not far-fetched. Firstly, the IP address comprises a series of numbers arranged in a very standardized format. Humans are not good at remembering numbers, so a domain name will be a better option to go about it. Secondly, for two computers to establish a connection on an IP protocol/network, they must have IP addresses. This domain name translation into an IP address is made possible by a Domain Name System(DNS) and the process states with a DNS request. After the request is sent to the DNS server, the DNS, like a phonebook, retrieves the appropriate IP address.
TCP/IP
After the IP address is received, a connection is established between the client (which is you in this case typing google.com in your browser) and the server side of things (google’s server). This connection is established based on the Internet Protocol suite (TCP/IP).
The transmission Control Protocol and Internet Protocol (TCP/IP) are protocols that make reliable transmission of data between computers and applications over a network. They transmit the data by breaking the data down into smaller packets and reassembling them back at the final destination. This ensures the reliability and accuracy of data. The TCP and IP have somewhat different functions. The IP obtains and defines the address (that’s why it is called an IP address) of the application data is being sent to while the TCP manages the transportation of the data via the network architecture and ensures it gets to the specified address. The two protocols form the Internet Protocol suite.
Firewall
Apart from the network/connection being reliable and accurate in terms of the transmission of data, it also has to be safe and secure. While the Internet Protocol solves the former issue, the firewall solves the latter issue. The firewall is a device that filters incoming and outgoing network traffic based on some security policies/standards by an organization. It either allows or blocks certain packets of data from going out or coming into a private network by reading certain information contained in the packet.
HTTPS/SSL
Another level of security is/needs to be established between the client side and the server side of things during the process of typing google.com in your browser and pressing enter. If the website has acquired a Secure Sockets Layer (SSL) certificate (google has one by the way), upon request from the client, the certificate is sent to the client for inspection. If the certificate is trusted, a signal is sent back to the web server and then the web server sends an acknowledgment and starts a connection/session which is encrypted (cannot be read). When this happens HTTPS (hypertext transfer protocol secure) appears in the URL on your browser and a padlock-like symbol. If you click on the padlock symbol, you can read the SSL certificate. This makes sure that whatever data is being exchanged between you and Google cannot be read in transit.
领英推荐
LOAD BALANCER
Due to the fact that Google has a lot of users, the load on the servers would be so much. This is solved using a load balancer. A load balancer simply allows requests from clients/users to be distributed across numerous groups of servers (trust me the servers are much) equally. So, the load balancer stands between the users and the servers like a traffic warden and judiciously distributes the incoming request traffic across the web servers in such a way that optimizes efficiency, speed, and work balance. If there is traffic then there needs to be a traffic warden.
WEB SERVER
All the while, the client/browser has been worried about creating secure, reliable, encrypted, efficient connections with the server. Now, based on the request of the user, the web server (google’s web server) sends back a response usually based on an HTTP (Hyper Text Transfer Protocol) back to the client. The HTTP is an application layer protocol that facilitates the transfer of information between networked devices. This HTTP runs on top of other layers of the TCP/IP. Therefore it is a part of the grand TCP/IP protocols. Back to the web servers, the responses sent back are static web contents such as HTML documents, images, CSS documents, Etc. these web content are kept and served by the web servers.
APPLICATION SERVER
One thing very noteworthy in the function of web servers earlier mentioned is the fact that they serve static web content. However, requests come from different users, and users have a variety of preferences and the data they might be asking for are different. This is where application servers come in. They serve dynamic content by applying business logic to requests sent. This business logic is encapsulated in the website’s codebase. The application server connects to the database, retrieves information based on the request, allows this data to pass through a business logic, and then sends back dynamic responses tailored to suit the particular user’s request.?
DATABASE
A database is simply an organized, and structured data that is stored for easy access, update, modification, management, and organization. There are different kinds of databases and every website with users should have one. When we type “google.com” in our browsers and we want to either retrieve, post, delete, or update user-specific information, the application server interacts with the database to make this possible. The application server contains the codebase that allows for easy querying of the database. After querying the data, a dynamic response is generated, as earlier mentioned, and served to the web server that ultimately serves the response to the load balancer which serves the response to the user if the user’s private network firewall permits.?
In conclusion, the processes listed here might be overwhelmingly many but they happen so fast you will not even know. The knowledge helps in the development aspect of things. If you know, you know.