Have you ever wondered what happens behind the scenes when you input a URL into your browser? and How the browser shows your requested website? Knowing what goes on behind the scenes is not required to develop websites, but if you are intrigued or want to dive deeper into theory, you should understand how the web works. In this article, I will provide a high-level overview of how the web works without delving too deeply into technical details.
Note: This article is not about how the internet works.
Let's say you want to visit my portfolio website. Here's the overview of what happens behind the scenes.
You enter a URL in the browser -> Browser requests your server -> Gets a response back -> A website appears.
Now let's break down this big picture into different parts.
It all starts with typing a URL in the browser. Let's say you entered https://itsrakesh.co. After that, the browser will send a request to your server. But hold on! How does your browser know where to find your website? For example, if you want to visit your friends' house, what do you need? - An address, right? Similarly, a browser needs an IP address in order to make a request to your server. We provide a URL, but the machine cannot read it and we cannot recall the IP address. What is the solution to this problem? Here comes DNS to the rescue.
DNS stands for Domain Name System. In simple terms, it deals with domain names, IP addresses and stuff. Each domain is assigned a unique IP address. Itsrakesh.co, for example, is mapped to 220.127.116.11. When you enter a URL, your browser will request DNS to return its IP address.
Browser got the IP address of your server. Now, using that IP, your browser (client) will submit a request to your server. The server sends a response back to the client. This request-response cycle follows a protocol called HTTP(HyperText Transfer Protocol). Each HTTP request consists of a request line and some headers.
Request line is simply a path to different HTML files along with the request method(We often call these routes)
GET /somepath HTTP/1.1
Headers contain information about a request like content type, browser info and so on.
For this, the browser uses a rendering engine to convert HTML code into visual and interactive elements like text, images, videos and audio.
That's it! But there's so much going on that I couldn't tell it all since it would confuse you. So, in subsequent articles, I'll explain how the internet works and the OSI model.
Feel free to ask your questions in the comments.
Hope you learned something new. If so, follow me for more articles like this.