Hyper Text Transfer Protocol

“The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems.”
- Tim Berners Lee

  HTTP protocol is a request and response paradigm. The client establishes a connection with the server and creates and sends a request to such server in the form of a “request message”. It also sends along a URI (Uniform Resource Identifier) , a protocol version, along with a message similar to MIME (Multipurpose Internet Mail Extensions) that contains the clients information, “request modifiers” and the actual content.

  Then the server response with a status which will give back either success or error along with another MIME message that has the server’s information, message meta information, such as time, data and title, and the body content (if any).

  There are different possible ways of connecting using this protocol because it may not be as simple as one gateway between UA (user agent) and O (origin server). It becomes complicated and complex when there are proxies, gateways, and tunnels between the two.

  On the basic level HTTP is a simple back and forth, but commonly it isn’t like that because between servers there are caches and those caches process requests and can cache requests, which means they have a set response for that message and they can shorten the message chain by sending back information.

HTTP Diagram