The workings of entering a URL…

Manuel Enrique Figueroa
5 min readApr 20, 2021

The Question:

Haven't you ever wondered what happens when you type a URL into your web browser. You probably wouldn't be here if you didn't! I am going to show you a brief overview of what will happen behind the scenes as soon as you hit that enter key.

The DNS request:

At the top of the stack of concepts you will become familiar with is what is called the Domain Name System. DNS in short is the bridge between you domain name(Ex. google.com) and its numerical IP address(Ex. 46.76.3.3). When you type a domain name into you internet browser it starts a small chain reaction. First your local system will determine whether or not the IP for you query is already located in its memory, if not it will call upon what is known as a resolver(usually an internet service provider). The resolver will visit a number of servers with the first being the root name server which will locate what top-level-domain name(.com, .net .org) our address has. Here the root server returns the IP for that TLD’s server. Once our resolver reaches the top level domain names server it retrieves what are known as authoritative name servers(IP) which are a bunch of URL’s that point to the same IP address. Now our resolver knows what IP your domain name points to which allows our browser to now display its content. How does it display this content ? That’s where internet protocols come into play !

What is TCP/IP ?

TCP/IP stands for Transmission Control Protocol/Internet Protocol. As you can see there are two parts to TCP/IP the transmission protocol and the internet protocol. Transmission Control Protocol is basically what is responsible for data delivery between system and IP address. Internet protocol is just the address to where the data will be sent sorta like a mailing address. TCP and IP work together by breaking the data into what are called packets and reassembling them at there destination. Usually these packets will take the quickest route over the internet to reach there destination. There are actually three layers to the TCP/IP internet structure…

  1. Data Link layer: This is the physical aspect of the structure where the data is sent over Ethernet/WiFi etc to reach its destination.

2. Transport layer: This layer divides the data into packets sending them and determining if they have been received by the destination and in vise versa while making sure it maintains a reliable connection to the destination system.

3. Application layer: This layer would be any application that requires a network connection. A good example would be in this case our internet browser. In short this is the human readable portion of the TCP/IP structure

Security segment:

1. Firewalls:

Here we are going to take a little deviation into a server concept known as a firewall. A firewall is essentially “wall” between open internet and a private network that controls traffic. Usually a common firewall such as a packet firewall allows only certain IP’s/port traffic to pass through your server. There are many other firewalls that you will probably hear about. You can learn more about them here.

https://geekflare.com/wp-content/uploads/2020/08/statefulfirewall.png

2. HTTP/HTTPS/SSL:

HTTP(hyper text transfer protocol) is what allows your browser to request HTML from the server you requested. In more detail is a series of requests and responses by a client and a server to serve you your requested data.

http://vskills.in/certification/tutorial/wp-content/uploads/2013/05/HTTP.png

HTTPS(hyper text transfer protocol) is a encrypted version of you standard HTTPS request. HTTP alone is extremely vulnerable to eavesdroppers that want to look in at the data your sending/receiving. HTTPS prevents this by using what is called a SSL/TLS protocol. These protocols use public and private keys from system and server to create a metaphorical handshake between the devices to securely pass information to one another. Usually you can tell if a page is encrypting its traffic by the https:// in your URL bar. HTTPS is greatly used when you need to enter sensitive information like when using your credit car on an online store…

Server Level Layer:

  1. Load-balancer:

A load balancer is essential to how a server handles all the user requests that are being given to it. They use a concept known as load balancing where a domain name uses more than one server to appropriately distribute network requests. Usually they implement scheduling algorithms and routing mechanisms to achieve a balance. A good example of one of these algorithms would be the Weighted Scheduling Algorithm. This algorithm determines the weight of a given request and place it in a server that has the hardware capabilities to handle the weight of the request. Another good one would be Round Robin Scheduling that redirects server requests sequentially one after another.

2. Web server/application server: A web server is usually a software that hosted on a physical server that delivers web pages(HTML content) aka client HTTP requests to a client system. Usually files that are to be deployed are stored on the server such as HTML, Images, CSS styles, etc. A web server works be responding to incoming and outgoing HTTP requests from within the TCP protocol. There are two main types of web servers both static and dynamic are available. Static is just used for static web content but dynamic server usually can run an extra application. This is usually where and application server comes in. Usually and application server is what hosts an application for example processing data from a database.

3. Database: A database is a set of organized data that can be stored and accessed by a system. Usually the accessing system is running what is called a DBMS(database management system). There are three different types of databases beginning with Relational Database which contains a set of tables with data that fits into a predefined category. Next we have a Distributed Database which is a database separated into slices stored in multiple locations physically. Now last but not least we have a cloud database which runs on a cloud computing platform(On demand computer resources).

Conclusion:

So far we have covered everything you need to know to understand the inner workings of the internet. We covered everything from DNS to the databases. Now we can understand how a internet browser can display a webpage from a URL all the way down to the server that hosts it. Thanks for reading !

--

--

Manuel Enrique Figueroa
0 Followers

I am a current student at Holberton school of software engineering aspiring to have a career in full stack software engineering.