Where to Begin! There is a lot to say about this Thing named HTTP. It's a protocol, the Hyper Text Transfer Protocol, but you already know what the acronym spells. It's the way for computers to communicate with each other over the Internet. It's part of this other Thing called TCP/IP Stack. It's how you're reading what I typed many computers away — many hops of network cards, Ethernet cables, routers and switches away. Each of these machines along the way contain some component that implements HTTP as well as other 'layers' of the TCP/IP stack? What does it mean to implement HTTP?
HTTP is a specification. Or in plain English, a document listing out bunch of rules that two or more parties follow in order to play well together and be able to communicate with each other. Computers that want to communicate over The — capital I — Internet have hardware and software that follow these rules. (Side note: But we can also imagine a separate network of computer that choose to communicate in a totally different way using different set of protocols.)
So far this is a bit abstract. An analogy, coming up! First, we need to look at this TCP/IP stack.
Let's look at HTTP in the context of this Thing called the TCP/IP Stack. It is a stack in that it has layers and each layer has some specific role to play in getting a message from computer A to computer B. keep reading