Navigating the website is easy, but what’s the easiest? Understanding the BTS of website navigation! And when I say this, trust me, I mean it! Being an active user of the internet, you must be aware of the basic backend processes of the internet. In this segment, I have covered everything related to the website navigation process. So get yourself a warm cup of coffee and come along.
Note: To understand this better, I’ll be using Airbnb as an example.
- Shoot the URL
Go and type http://www.airbnb.com in the search bar of your web browser. This address is called the Uniform Resource Locator (URL). Now, this is where the game begins. Upon pressing enter, Domain Name System (DNS) gets into action. Each website has a URL and an IP (Internet Protocol) address. URL is an easy-to-understand website name for us whilst IP address is in the form of numbers. Airbnb has an IP address 184.108.40.206. This is listed on the Domain Name System (DNS) where your browser looks up for it for the given URL.
According to a report of Verisign, there are approximately 362.3 million registered domain names. Even remembering the IP addresses of 10 websites seems to be an impossible task. For this reason, we have URLs with easily accessible domain names.
- Decoding HyperText Transfer Protocol (HTTP)
Before we move forward, let me explain to you what are the basic definitions of client and server.
The client is your device. Be it a laptop, desktop, palmtop, or your smart TV. We will categorize it into a single entity which is called a client. The client is where you will receive all the data through the web browser.
The server is the entity where all the data is stored. The client requests data from servers to access the websites.
After you shoot the URL of the website, HTTP emerges smoothly and takes up the task. Once the IP address is matched, the browser makes HTTP requests to the server. A web server is located within the server that receives all the requests. This is necessary to access all the web pages on the Airbnb website.
If the web server accepts the request, developers can see a message mentioning 200 OK. This indicates that the website has been found in the database.
But if the IP address is not found or for some reason, the web server rejects the HTTP request, Error 404 is displayed on the screen
- Receiving the data
Once the HTTP request is accepted by the server, it starts sending the data. Airbnb website includes mountains of data. Sending all this over for once and all would hamper the download speed and hence result in a poor surfing experience.
To eliminate this, data is sent in the form of small packets that are measured in bytes. These packets follow the TCP/IP model.
Like we have a certain set of rules (or protocols) for driving, visiting historical places, etc, all kinds of communication taking place at the backend also follow TCP/IP- a dedicated set of protocols. Here TCP stands for Transmission Control Protocol, which ensures that all the data transmission taking place over the internet is following the rulebook.
You must be pondering why servers don’t send the entire data in when to go. Well, there is a catch here too.
Around 150 million people use Airbnb to make bookings, claims a report by Statista. So it is highly likely that several people might be using the Airbnb website right now when you are reading this. Several HTTP requests are made at the same time, which might spike the load on a server.
To cater to the needs of all these users who currently want to view Airbnb, the server sends the data in the form of packets. If it were to be sent as a whole, chances are only one of those thousands of users would be able to view Airbnb. This can highly affect the rankings and traffic of any website, not just Airbnb.
- Additional HTTP Requests
Talking about navigation, the entire process is dynamic and efficient. Airbnb has most of its work done through the internet and thus, it is not just a 2-page website.
You can see numerous images, videos, GIFs, and other visually appealing media. In order to retrieve complete data, the web browser sends several HTTP requests over a short period.
Another prime thing to be noted here is that HTTP requests are sent and received only when a secure TCP connection is established. Ideally, 1 Round Trip Time is what it takes to establish a TCP connection. High RTT time suggests that there is congestion or too much traffic on the server. This can further decline the time in receiving the packets, making your website extremely slow and inefficient.
According to a WebFX report, 89% of people prefer those websites which take only 3 seconds to load.
Several firms conduct timely TCP health checkups to determine the condition of TCP and how long it takes to establish a strong connection.
These additional HTTP requests are sent only when the basic HTML architecture is retrieved. Generally, such interactive media is referred to as the Assets file.
- Reassembling The Packets
The ultimate step is combining all the packets into complete data. This takes place at the user’s end where you can see the actual information. Ideally, a website takes 2-5 seconds to load all the web pages and attributes. All this information is stored in the cache memory for future reference. So next time you type in the same URL, the browser would first induce the cache memory to retrieve the data.
- All About URL
The naming of the website follows a hierarchical model.
URL is what you call the complete address of the particular website. For example, the URL of Airbnb is https://www.airbnb.com/
It is composed of a protocol and a root domain.
- https:// is the protocol that is going to be followed.
- www is the sub-domain.
- airbnb.com/ is the root domain.
The root domain is also divided into two parts:
- Domain Name: It is the actual name of the website. Each domain name is unique and no two websites can have the same domain name.
- Airbnb is the domain name for Airbnb.
- Top-level Domain: This is the extension which follows the domain name
- .com/ is the top-level domain for Airbnb.
There are several top-level domain names, namely .org, .au, .io, etc. These indicate which type of website you are navigating.
- HTTP or HTTPS
HTTP and HTTPS are both protocols that are dedicatedly followed by clients and servers while communicating. But most of the people are confused between these two. Let me break it to you today: the basic difference is that HTTP is not secured but HTTPS is SSL secured version of the protocol.
HTTPS is signed by a certified authority, and it indicates that the website is safe for making transactions. While there is no security enabled in the HTTP version of the protocol.
- Cache Memory
The browser searches for IP addresses in the cache memory. There are four types of cache memory.
- Browser Cache: The first check is done through the browser cache memory. If the website is previously visited, basic HTML files and web pages are retrieved from there. This helps to eliminate the need for downloading web pages from the webservers all over again.
- OS Cache: If no information is accessible through browser cache memory, it moves to the operating system cache memory in order to get the data. OS cache memory is saved in the system’s CPU.
- Router Cache: Your router also maintains a cache memory. If there’s no luck in getting any data through OS cache memory, the browser then moves to your router cache memory where the minuscule data is stored.
- ISP Cache: Last it comes to Internet Service Provider Cache Memory. If none of the cache memory seems to help, the final lookup is done in the ISP cache memory.
And that is how it is done! Imagine several processes taking place at the backend and you get to see the whole user-friendly website in a few seconds. That is the beauty of the Internet. The architecture is quite complex, and I have tried my all to break it into pieces for your understanding.
So next time someone asks you about BTS of website navigation, I am sure you have a detailed answer now.
I hope you had all your doubts cleared through this article. Stay tuned for more insightful content.