HTTP

HTTP
The Hypertext Transfer Protocol is an application protocol used by the World Wide Web for data communication, specifically defining how Web servers and browsers should respond to various commands. HTTP functions as a request-response procedure between a client and a server. A common example of this would be a web browser intercommunicating with a website.

Background
The development of HTTP was started by Tim Berners-Lee while he was working at CERN in 1989. The World Wide Web used what is known as HTTP/1.0 since 1990, but it was not until 1997 that HTTP/1.1 would be released for common use. Standards were developed by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium accumulating with the publication of a series of Requests for Comments (RFCs).

How it Works
A session will be created, known as am HTTP session, which will include a series of network request-response transactions in sequence. This is possible by a Transmission Control Protocol (TCP) connecting to a port on a server. A series of messages will be exchanged resulting with the server sending the requested resource or an error message. A common error message is the status code 404, which is shown to users to indicate a page they are trying to access is not found. Many websites implement HTTP cookies to hold information on users for the site to use.

Methods Used
Request Methods

There are specific methods used by HTTP to accomplish the tasks required of it. The number of methods that can be used is large, however a GET and HEAD method is normally always included. HTTP/1.0 introduced GET, POST and HEAD methods while HTTP/1.1 added OPTIONS, PUT, DELETE. TRACE and CONNECT.

Advancement
HTTP/1.0 and HTTP/1.1 are the most common protocols used on the internet, with HTTP/1.1 being the only standardized version for 18 years. In 2014, HTTP/2 was presented for standardization and on February 2015 it was approved and published as RFC 7540 in May 2015.