Hypertext Transfer Protocol

Overview [1] [2]#

Hypertext Transfer Protocol (HTTP) is a stateless request/response protocol that operates by exchanging messages across a reliable transport Application Layer for transmitting hypermedia documents, such as HTML.

Hypertext Transfer Protocol, though often based on a TCP/IP Protocol Stack, it can be used on any Reliable protocol transport layer.

Hypertext Transfer Protocol follows a classical Client-server model, with a client initiating a connection to make a request, then waiting until it receives a response.

Hypertext Transfer Protocol is a stateless protocol, meaning that the server does not keep any data (state) between two requests.

A Hypertext Transfer Protocol "client" (user-agent or Browser) is a application that establishes a connection to a server for the purpose of sending one or more HTTP/HTTPS requests.

An Hypertext Transfer Protocol "server" is a application that accepts connections in order to service HTTP Request by sending HTTP Response.

The terms "client" and "server" refer only to the roles that these programs perform for a particular connection. The same program might act as a client on some connections and a server on others.

The term "user-agent" refers to any of the various client application that initiate a request, including (but not limited to) browsers, spiders (web-based robots), command-line tools, custom applications, and mobile Device apps.

The term "origin server" refers to the program that can originate authoritative responses for a given target resource.

The terms "sender" and "recipient" refer to any implementation that sends or receives a given message, respectively.

Hypertext Transfer Protocol relies upon the Uniform Resource Identifier (URI) standard RFC 3986 to indicate the target resource and relationships between resources.

Messages are passed in a format similar to that used by Internet Mail RFC 5322 and the Multipurpose Internet Mail Extensions (MIME) RFC 2045 (see Appendix A of RFC 7231 for the differences between HTTP and MIME messages).

More Information#

There might be more information for this subject on one of the following: