Whenever we search in our web browser, a lot of things happens behind the scene which we as a user never cares. Some of these users wants to understand this process and to meet their curiosity we are publishing this article.
How we can define a website? In simple words, it’s a collection of pages which are grouped under a single domain name. When we talk about websites, two words must be understood, one is frontend and second is backend. Let’s understand these two words before going further in request-response cycle process.
Frontend - Frontend is what website user will see when they visit a website or how the website will appear to users. The frontend designing is done using HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). Where HTML is used to create different types of components and to display information to user like form, button, tables, list, link, images etc. and CSS is used to improve the appearance of these by adding layout, color, size etc.
Backend - Backend means all the things happening at the server level. For example, when user sends a request through their web browser it goes to the server and then Backend comes into play to process this request and give an Html response. There are lot of languages which supports backend development e.g. PHP, Java, Ruby etc. Python too have many and Django is one of these.
Below we are explaining the whole process from searching on web to getting the result/response in your browser window.
As we all know, to connect to the web, we first need an internet service provider (ISP). Once we have an ISP connectivity, we can search the web using any of the vast variety of browsers available in market.
When we type a domain name/ web address in our web browser url address bar our computer contacts a network of servers called Domain Name System (DNS) servers. DNS contains a list of all the website names mapped to respective ip address of the server. IP address is a number of up to 12 digits separated by periods/dots. Every device connected to web has a unique IP address.
This IP address is returned to our computer from DNS and this ip allows our browser to contact the web server that hosts the website we requested for from our browser.
A webserver is basically a computer connected to internet which contains all the data/files of the website. Inside webservers several programs will be running which will process the request and give a valid response to this request which will be send to the browser back to user in the form of html.
The server programs are basically written using a web framework of any of the programming language which supports backend development. A Web framework is a software that is designed to support web development. It is basically a collection of packages and modules which makes website development process smooth and systematic.
Hope this article will help you to understand the request-response, backend frontend differences and languages supporting these. That’s all for now. Thank you!