EVER WONDERED WHAT HAPPENS WHEN YOU LOAD A URL IN YOUR BROWSER
In this Article, We’ll dive into the internal operations of a browser when a URL is entered into the search bar and Enter button is clicked.
Let’s parse this https://www.gooogle.com, This is a URL (uniform resource locator) that contains the location of the internet resources you want to access. The URL is an address that points to the place (web page) you want to visit.
- https:// – hypertext transfer protocol secure is a set protocol used to establish a connection to the network.
- www – subdomain is a subdivision of the domain name typically used to distinguish content types or the type of information presented. Usually, subdomains point to specific server IP addresses serving a page.
- Second-level Domain – is the unique name of the website for the company or person that registers it, This enables brand or owner identification for each site.
- Top-level domain: the highest level in the domain specifies the type of entity under which a site is registered on the internet. Some common TLDs are ‘org’, ‘edu’, ‘com’, etc. For example, ‘com’ is used to identify the website as a commercial entity.
Locating The Internet Resource(Destination Site) – DNS Query
When you type the URL in the search bar and click enter, The browser breaks down the URL as illustrated above. Next, the browser has to figure out the IP address of the server responsible for hosting the website. The browser will initially search its cached data for the IP address associated with the URL provided. If the required IP address is not found, Then the browser performs a DNS query where the user’s computer (DNS client) asks the DNS server for the IP address associated with the provided URL.
ESTABLISHING CONNECTION – TCP/IP
Once the browser has the IP address for the domain, it proceeds to initiate a connection to the server via the HTTPS protocol you indicated in the URL which is part of a larger protocol suite called Transmission Control Protocol/Internet Protocol (TCP/IP). Then the connection is established via TCP 3-way handshake (where the client and the server synchronize (SYN) and acknowledge (ACK) each other). 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 to the SYN/ACK packet and waits for the client to ACK by incrementing its SYN number.
HTTPS/SSL
After TCP/IP connection is done, the browser then communicates with the server using the protocol HTTPS in the URL. The protocol defines different types of requests (ie; GET, POST, and PUT) and responses secured by a standard security protocol Secure Sockets Layer (SSL) that encrypts and decrypts data traffic between the client to the server infrastructure at the load balancer.
Load Balancer
As soon as the connection is established, the browser (client) and Google’s website (server) can communicate with one another over HTTPS protocol. In a situation where there are numerous requests for a website, the load balancer distributes the requests across several servers to prevent downtimes and Single Point of Failure (SPOF).
FIREWALL
A digital security system that scrutinizes all incoming and outgoing traffic on a network according to a defined set of rules. A firewall blocks unauthorized traffic and allows only communications that are considered safe, using a set of security rules provided by a network administrator.
WEB & APPLICATION SERVER
A web server refers to software and hardware that uses HTTP (Hypertext Transfer Protocol) and other protocols to respond to client requests made over the World Wide Web. An application server is a modern form of platform middleware. This is system software that resides between the operating system (OS), and the external resources (such as a database management system [DBMS], communications, and Internet services). An application server exposes business logic to the clients, which generates dynamic content. It is a software framework that transforms data to provide the specialized functionality offered by a business, service, or application.
DATABASE MANAGEMENT SYSTEM – DBMS
A database management system is a software system that facilitates the organization of data into a particular architecture, be it relational (Relational Database Management System, or RDBMS), document store, key-value store, column-oriented, graph, or other.