WHAT HAPPENS WHEN YOU TYPE HTTPS://WWW.GOOGLE.COM IN YOUR BROWSER AND PRESS ENTER?
To answer this question, I will break down the URL; https://www.google.com.
1. The first part (HTTPS ://) contains of an Internet protocol known as Secure Hypertext Transfer Protocol which indicates the browser. The protocol is used to establish communication on the network. There are different protocols that can be used to establish communication such as: HTTP (hypertext transfer protocol) and FTP (file transfer protocol).
2. The second part shows the host name that is reached through the domain name server (DNS).
The DNS is composed of three levels:
· Third Level domain (Sub-domain): Here it indicates a particular page of the website the browser should serve. In the example above ‘www’ is the sub-domain.
· Second Level domain: This is the unique name that the company or person registers with that identifies them to their customers. In this example ‘google’ is the name of the website.
· Top Level domain: This is the highest level of DNS which specifies the type of entity under which the website is registered on the internet. In this case ‘com’ is used to identify the website.
Some of the common third level domain types are: ‘com’, ‘.go.ke’
DNS REQUEST
When a user types the URL (uniform resource locator) in this case https://www.google.com, the browser first solves out the IP address of the server hosting the website. This is done through a process known as DNS Request (also known as DNS Query).
DNS request is the process where the user's computer (DNS client) asks for the IP address associated with the domain name from a DNS server (a computer server that contains a database of public IP addresses and their associated host-names.)
THE TCP/IP CONNECTION
Once the DNS client attains the IP for the domain it proceeds to initiate a connection to it using a process called TCP-3 WAY HANDSHAKE (where both the client and the server synchronize (SYN) and acknowledge (ACK) each other). Where the client chooses an initial sequence number, set in the first SYN packet. The server also chooses its own initial sequence number increments the client's SYN number sets it the SYN/ACK packet and waits for the client to ACK by incrementing its SYN number.
HTTPS/SSL
After the TCP/IP connection has been done, the browser proceeds to communicate with the server using a secure protocol, Hypertext Transfer Protocol Secure (HTTPS). This protocol defines different types of requests and responses served between clients and servers over a network. The requests include GET, POST, PUT, among others. The HTTPS requests and responses are secure by a standard security protocol called Secure Sockets Layer (SSL) which encrypts the data being exchanged between your browser and Google’s website server using a Public Key Infrastructure (PKI). The encryption is then done at the load balancer.
Recommended by LinkedIn
LOAD BALANCER
Once a connection has been established, the user's browser (client) and Google’s website (server) are able to send/receive data between each other over HTTPS protocol. In a situation where there are so many users (requests) visiting the website, the load balancer distributes those requests across a number of servers to prevent downtime and a Single Point of Failure (SPOF).
THE FIREWALL
Also known as the great wall. It is designed to analyze incoming and outgoing traffic and restrict the traffics based on a set of security rules defined by the user. Here the IP address is verified before making any connection. If the address is not suspicious it is allowed to connect to a web server that is going to be assigned by the load balancer.
Web server & Application Server
After being accepted by the firewall the request gets to the load-balancer that distributes the incoming load to the web servers.
A web server- is software and hardware that only handles HTTP/HTTPS requests and server’s static content like simple HTML pages, plain text files, or images. Nginx or Apache are examples of web servers.
NB: having static content is only is not the best option to generate interaction with the user. Therefore it is important to use the web server together with the application server to get the best interaction of the web-server by the user.
Application Server: runs behind a web server and in front of a Database Management System (DBMS). Its main purpose is to generate dynamic content supporting an application’s development and delivery providing business logic behind the application.
THE DATABASE
The final step is the database. The database is used by the website to add, create, delete, insert or update any information into the website.
Database: is a systematic collection of data which is stored in a computer system.
NB: Since the data in the database is well organized, it makes the data management so easy. This data management is done by the database management system (DBMS).
Database Management System (DBMS): this is a program or a collection of programs which enables users to access a database, manipulate the data in the database, and help in the representation of the data.
When you are in https://www.google.com and you want to sign in to gmail.com, for example, you will be redirected to an application server where you will store your user information in its database.
Therefore that’s what happens when you type https://www.google.com in your browser and press Enter.
Resources