What happens when you type holbertonschool.com in your browser and press Enter?
The internet has become an extension of our brain’s capacity, an artificial digital prosthetic that expands our biological capability to transcend our natural limitations. We rely heavily on the internet in order to quickly and easily access all the information we could possibly need, but rarely do we ask ourselves what exactly makes it tick. In this post we will explore the mechanisms that proceed when you simply search for a URL in a browser.
A series of tubes
To understand the intricacies of the internet, we must first understand what it does. The internet is simply a way to establish a remote connection between two geographical points. Without delving too deeply into it, there’s a framework of servers across the globe which host information and handle traffic trying to access that information. The side “visiting” the server is known as a “client”. Browsers are a common example of clients issuing whatever search you type into them while the server is the where the information you are searching for is stored and handled. Let’s break down the process further. The very first thing a browser does when you pass a URL and press ‘Enter’ is it breaks down the URL into smaller, easier to process parts. Take https://www.holbertonschool.com for example. The computer focuses on the domain name (everything but the ‘https://’) first by issuing a DNS (Domain Name System) request. Essentially what this does is it finds the IP address which as a unique, numerical combination that corresponds to that particular DNS. The rules of how IP addresses, domains, clients and servers interact are all defined in the Internet Protocol Suite or TCP/IP.
It is an unwritten rule of human nature that rules are meant to be broken. This, for some reason, is truer with the internet and computers than with many other things. Since the early days of the internet every time someone built something, someone else focused as much if not more time figuring out how to break or subvert it. The internet, over time, has built up a robust series of defense mechanisms to protect both clients and servers from illicit use. The first example of this is firewall. Firewalls are pieces of software that process traffic coming in and out to a server and decide if a given IP address is trustworthy or not.
Another form of security widely used on the internet is encryption. In our earlier example, encryption comes in to play via the ‘https://’ part of our URL. HTTPS is a more secure, encrypted version of HTTP, which essentially just means it’s built to hide sensitive personal information. It couples this with SSL (Secure Sockets Layer) which is an added layer of security that verifies if a website had a certificate, analog to our police issued “certificate of good conduct” we need when buying a house or getting a job.
Servers, if they’re going to be good and functional, need a lot of help to run smoothly and efficiently. There are many services that facilitate the interactions both between the developer and their server, and the client simply trying to reach the information they seek quickly. One such tool is a load balancer. A load balancer is exactly what it sounds like, it is a software tool intended for servers that receive continuous high volume (i.e. many requests from many people all the time) which simply put, balances the load of that network traffic and ensures that every server involved in the data management of that particular DNS is receiving traffic in an equal and uniform way. The load-balancer is particularly client facing as it’s main purpose is for the experience to be smooth and easy, it does it’s work quietly in the background and the user will never notice it’s there. The flip side to this type of tool is for example the DBMS (Database Management System). This is a tool that is used by the person maintaining the server, and it allows them an easy way to manage and edit the data contained in the database.
In conclusion the internet is an intricate tapestry of software, hardware and frameworks put into place over decades, maintained fastidiously by scrutinizing experts all over the globe to ensure the process is quick, easy and secure. Hopefully you gained some knowledge about the steps involved in the process of a simple browser search.