Protocols - What allows your browser to load Steemit?

in #steemit7 years ago

Have you ever wondered how your browser is able to talk to the internet to retrieve Steemit website that you love so much? In what language does your browser talk? Who is it talking to and how they are able to understand your browser.  If you are feeling curious on this Saturday night, why not take a beer and hop on for a ride 😎

(Credit: here)

In my previous post, I explained the high level concepts of how your browser sends information over the internet to be able to retrieve information. But what is the internet really made of and how all devices are able to talk to each other without us doing anything.

A little bit of History

We all know that the internet was developed through the ARPANET project in the 1950s so as to allow computers to communicate with each other across distances. In order to do so, a set of rules had to be defined so that each device on the network speaks the same language and has an expected behavior. The first ever set of rules ever created was the Network Control Protocol (NCP) and since then any rules that the internet implement is called a Protocol.

(Credit: here)

On the internet, protocols are the laws that every devices connected to it abides, much like humans abides to the laws of a country. Except that computers are very obedient and follows the rules as instructed which is very important. If computers had wills of their own, they may or may not abide to the rules and hence communication between devices would have been difficult.

What is the internet made of?

In order for the internet to exist, we need to have computers connected to each other. For this to be possible, there are many intermediary devices like routers, switches, bridges, modems among the most important. Each of these devices have their own set of rules (protocols) which instruct them what they can do and what they cannot do.

(Credit: here)

The NCP protocol, which is the first protocol, contained all the rules of how text data is to be sent to another computer, how a file is to be transmitted to another computer and how each computer know that the latter is alive or not.

With the decentralisation of the internet, the NCP protocol felt very old and cumbersome as the technology was evolving. Hence there was a need to create specific protocols to govern the behavior of each type of device on the internet.

The sea of protocols

Today we have many protocols that the internet uses for various purposes and each protocol came into being as a new application for the internet was found.

To begin with, we can divide protocols into 2 broad categories, which are the application layer protocols and network layer protocols. The application layer protocols tells software, like your browser, how to render the information in a human readable format. Some popular software that implements application layer protocols are your browser, email client (Gmail, Yahoo..), FileZilla, etc.

Network layer protocols are for those devices that act as intermediaries between your computer and the server which is going to render Steemit on your browser. Some example of those protocols are Transport Layer Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP). Each of these protocols have specific rules and allows devices to perform specific functions.

What my browser use to render Steemit?

Your browser implements the most common of protocols which is the HyperText Transfer Protocol (HTTP). It is this protocol, which is also the first thing that you write to retrieve a website, that tells your browser how to understand the information that the internet is returning so as to display it correctly.

We have the Simple Mail Transfer Protocol (SMTP) which dictates how our email client (Outlook, Gmail, Yahoo...) should render and keep our emails. This is the protocol which is used whenever you send a mail, you receive a mail or you retrieve a mail.

We also have the File Transfer Protocol (FTP) protocol which is used whenever you retrieve a file from the internet. Whenever you download a file or take a file from a network, it is the FTP protocol which tells your computer how to get the file and how to reassemble the file back before storing it onto your computer.

Why so many protocols?

As you will notice, back when the internet was invented, emails did not exist. When the concept of email was developed, it was important to create rules that will allow devices to retrieve, read, and store email and hence the first ever email protocol to be developed was the Post Office Protocol (POP3), which was later replaced by the SMTP protocol because it was better.

Emails used to contain only plain text and later, we found the need to include images and attachment in our mail and hence a new protocol had to be developed which is called Multipurpose Internet Mail Extension (MIME).

With the increase threat of hackers and hacked site, we needed to have secure websites. The solution was to implement digital certificates to websites so that the browser knows that the Steemit website is secure. In order for your browser to be able to detect whether a website is legit or not, the HTTP Secure (HTTPS) protocol was developed so that browsers can read a digital certificate and tells you if a website is secure or not. Maybe you have come across a website where your browser pops up a message saying that the digital certificate has expired and whether you want to continue to the website or not.

In a future post, I will list all the important protocols that are in use and their importance as there are so many protocols and each is vital for the survival of the internet.

Who maintains all these protocols and why I haven't heard of them?

Rest assured that all protocols that runs publicly on the internet has been vetted by a group of individuals. Those individuals are part of an organisation called the World Wide Web Consortium (W3C). They are the ones who maintains the rules, validates whether the rules are being applied and maintained, and agrees on future development of a protocol.

(Credit: here)

As you may have noticed in the last paragraph, there are publicly run protocols but there can be private protocols which are implemented. If a particular protocol is installed on two computers, they can basically communicate with each other as they will understand each other. There are organisations that runs private protocols on their own selected devices and they are all welcomed on the internet, with the exception that we will not be able to communicate with them as we won't understand their rules (protocol). 

On which protocol was the first Bitcoin mined?

When Bitcoin was developed, the first Bitcoin was mined on the HTTP protocol. This was the only available protocol that could allow mining. But when mining became mainstream, the HTTP protocol did not contain enough rules for efficient mining.

There was no protocol to determine how to mine and what to mine and there were no coordination among computers and the mining pool. If no new protocol was developed, mining pools would not have been as efficient as they are today.

(Credit: here)

Introducing STRATUM, the protocol that allows for miners to mine any cryptocurrency, to validate any transaction on the blockchain and to maintain the ledger database on the distributed network.

If we are today able to be here on Steemit, exchanging information to each other, in return for crypto reward, it has been largely facilitated by the STRATUM protocol.

A food for thought

Cryptocurrencies are here to stay. A new protocol has even been developed to allow its survival on the internet. That's why people say that that if Bitcoin dies, anyone can start it back again. The infrastructure is already in place and the internet is not going to die any time soon.

The one thing that I have noticed is that every successful company need to have a presence on the internet else its growth is not complete. Cryptocurrency is the internet! So how can it not be successful??


Last chance to play!!!! Why not give yourself a try on the Steemit Lotto Game by playing on this post: Steemit Lotto Weekly # 8 - Minimum Pot Size 18.2 SBD

Good luck to everyone  😎 


Don't forget to check if you are a winner every Sunday at around 19 00 (GMT)

(created by @readallaboutit)

Sort:  

The geek in me loves reading stuff like this. LOL.

Really glad you enjoyed reading my post XD

Good information. We use this technology everyday, but don't usually take the time to learn the nuts and bolts about how it works. Thank you! @ironshield

Indeed, we should know some of the basics of the technology we use everyday.

It is fun to know how it all works and why it works in the first place :)

Very good lesson on the browser and its languages. It would be useful to accompany the courses on the Open source and the blockchain

I will be covering those topics but I wanted my followers to first understand the basics before the blockchain frenzy and how it got into the internet!

Thanks for the nice comment XD

Great article, very good to see concepts like these explained today. also great to see that folks are actually reading. its all about layer 7 today , layers 1-2-3 are all but forgotten.

Yes this is true. Since everything is working so well on the backbone of the internet, nobody really knows what is going on or how it works!

Coin Marketplace

STEEM 0.19
TRX 0.16
JST 0.030
BTC 65739.28
ETH 2626.92
USDT 1.00
SBD 2.66