Making sense of HTTP - I

Say you search for something on Google. Just sit back and think about what happens here.

You searched for something.

Okay! From where? Maybe in your office or home.

But do we need a physical device to search? Maybe a laptop or mobile.

Before searching in Google, you need to load google on your device. But you don't know where the google machine/device is located. But you need to connect with it.

As far as we know, if we have an internet connection in our home or office - we can load a google page on your device.

What happened here is the connection between two devices(Yours and Google). Here the stakeholders are two physical devices and connected devices. This idea of connecting devices is called Networking.

Wait! Why do we need the Internet here? Simple, If Google's device is located nearer to the office/home, we can directly connect to the device through some cables. Unfortunately, the Google device is not nearer to me. From the Google perspective, they can't install their device in everybody's neighborhood as they get a request from all over the world. This is the point Internet kicks in.

The Internet enables you to connect with devices in distant parts of the world. This Internet is provided by Internet Service Provider(ISP).

This Internet passes through many networks(connections). That's why the Internet is called the "Network of Networks".

Back to Basics

Till now, we can't reach the point why HTTP has evolved. For that, we need to understand the whole system.

Any communication relies on common language, so that sender and receiver mutually benefit. In this networking world, it is called Protocols.

A protocol is a system of rules that define how data is exchanged within or between computers. Communications between devices require that the devices agree on the format of the data that is being exchanged. The set of rules that defines a format is called a protocol. Source: MDN Web docs

We send data from our computer to the receiver device. This data can be small or large. If the data is large, data is divided into pieces called 'Packets.'This enables us to increase the data transmission rate.

As a receiver/sender, I am concerned about the whole data, not the packets. This packeting method is for efficiency of communication. To ensure that all packeted data are converted into entire data(original data), TCP assembles all packets need some rules or protocol - TCP(Transmission Control Protocol).

This doesn't end here, all the data we send are divided into packets, and we must ensure all packets reach the intended destination before TCP assembles all packets. Thus to ensure the proper delivery to address - we have another protocol called IP(Internet Protocol).

These two TCP and IP are the foundation of today's modern communication. Over time, many developments, security concerns, and eventually, many protocols. In today's world, it is collectively called TCP/IP suite, named after the two most important protocols. This TCP/IP can be considered as layers with protocols associated with it.

Upper layers are more logically closer to the User and lower layers are closer to the physical transmission of data.

It is in this upper layer that HTTP - Hyper Text Transfer Protocol resides. I hope you can attach the HTTP to this larger picture. We will see HTTP in detail later.

HTTP is mostly related to the Web(WWW). The web is just an application of the internet i.e TCP/IP suite. Technically Web sits on the application layer of the TCP/IP suite and HTTP is one of the protocols in this layer.

This was beautifully explained by BBC,

"The world wide web, or web for short, are the pages you see when you're at a device and you're online.

But the internet is the network of connected computers that the web works on, as well as what emails and files travel across.

Think of the internet as the roads that connect towns and cities together. The world wide web contains the things you see on the roads like houses and shops.

And the vehicles are the data moving around - some go between websites and others will be transferring your emails or files across the internet, separately from the web".