HTTP

The hypertext Transfer Protocol (HTTP) is an application protocol. It is the foundation of data communication for the World Wide Web. HTTPS (with S for secured) is the version of HTTP thanks to the use of SSL or TLS protocol. The standards of this protocol were decided by the collaboration of Internet Engineering Task Force and World Wide Web Consortium.

Implementation
HTTP defines methods to indicate the desired action to be performed on the identified resource. This last one is often a file or the output of an executable.

There are some version of HTTP protocol. HTTP/1.0 specification defined GET, POST and HEAD methods. HTTP/1.1 added OPTIONS, DELETE, PUT, TRACE and CONNECT.

Explanations of the methods
Get is the command to ask a resource. The requests using GET should only retrieve data. Indeed, there is no other effect.
 * GET

PUT is the most used method to remplace or to add a new resource on the server. The URI is the address of the ressource DELETE is used to delete the specified resource CONNECT converts the request connection to a TCP/IP tunnel HEAD is asking some information about the resource but not the resource itself. OPTIONS returns the HTTP methods that the server supports for the specified URL. TRACE is a method which is asking to the server to send what he receives. The mechanism is used to verify the connection PATCH is used as PUT to modify the resource. But this one is used to modify partially the file. POST is used to transmit data for a treatment of resource. The URI is specified. If the URI refers to an already existing resource, it is modified. If the URI does not point to an existing one, the server create
 * PUT
 * DELETE
 * CONNECT
 * HEAD
 * OPTIONS
 * TRACE
 * PATCH
 * POST

HTTP 0.9
The first version was very simple. The different steps were:

1.      Connection to the client HTTP

2.      Request GET

3.      Response of the server HTTP

4.      Server stop the connection to show that the response is finish

HTTP 1.0
The principle is the same as for HTTP 0.9 for the connection. However, this version supports the methods HEAD and POST and the utilisation of specified header.

HTTP 2
A new version arrived and was approved by RFC standard in February 2015. This version appears after the creation of the protocol SPDY by Google, protocol which the goal is to decrease the time for the download of the WEB pages.