The Protocol: HTTP
As a software developer the protocol you’ll need to know about the most is undoubtedly HTTP.
A good software developer of any kind must have a strong understanding of HTTP. We will learn why that is, as well as all the parts and mechanisms of http that you’d learn in your internship as it’s the focus of our course and skip some of the technical details that will not be useful to you as a software developer.
Before I start, I will share this article as a series, in my first article I kept it short so as not to bore you with technical details. Let’s get started!
What Is HTTP?
HTTP, the Hypertext Transfer Protocol is a stateless, in on the top layer as we saw previously meaning HTTP is an application layer protocol. HTTP provides communication between distributed systems and is the foundation of the modern web. This makes HTTP is especially important if you are working with cloud computing. First foundational thing you’d need to know about HTTP is that it’s a stateless protocol. What does Stateless mean exactly? What makes it stateless? And why is it designed to be that way? Let’s dive deeper on that.
HTTP Basics
HTTP’s main job is to achieve communication between various clients and various servers, it’s also responsible of supporting various network configuration. Think the whole world wide web, with that kind of scale it can’t possibly keep track of the state of every node whether it’s a client or host. The state here means keeping track of any type of information of that’s specific connection date, time, duration, type, the kind of server or client or the history between that. Http does not care or remember any of that on the next request hence it’s stateless. Another thing to mention here is that any reliable transport can be used but the communication usually takes place over TCP/IP. And the default port for TCP/IP is 80. Other ports can be used either. Communication between a host and a client occurs via a request/response pair. The client initiates an HTTP request message. That request message is serviced thru a HTTP response message in return.
That’s it for now on the basics of http guys. See you on the next one!