The Hypertext Transfer Protocol (HTTP) is a general, stateless, object-oriented protocol for data transfer on the World Wide Web(WWW). The HTTP protocol dates from 1999 and is described in RFC 2616. It defines a set of HTTP requests and HTTP responses that web clients and web servers use to communicate with each other.
As a simple, stateless protocol, request- response is concerned with the transmission of a single web page or parts of a web page. Whereby the HTTP protocol does not remember the associated user or other entries. With each new entry, the complete web page must be retransmitted.
With the HTTP protocol, the web client, that is the browser, makes a request to the web server. With each request for a new document, the browser establishes a connection to the web server via the TCP/ IP protocol, through which the requested HTML documents are transferred. Some extensions of the HTTP protocol involve image files, audio files or video files. After the data is sent to the browser, the data connection is terminated.
The HTTP protocol is used to addressobjects using the Internet address( URL), it handles the interaction between client, the user agent, and server, Origin Server, and it takes care of the format matching between client and server. The communication takes place via the request-response procedure in which the user agent sends a request to the server via the previously established TCP connection. The server responds with a response that always contains an HTTP status code. Such a status code can indicate that a transaction has been completed or that the corresponding server cannot be reached. If documents are not found because of incorrect or invalid Internet addresses, the status code contains an error message that is displayed by the browser. For incorrect URLs, a Bad Request is displayed with the error code Error 400, for web pages that cannot be found or error pages, it is the error code Error 404. In case of a server error, the HTTP status code 500 is displayed.
For reliable message transport, there is the HTTP-R protocol, where the "R" stands for Reliable. The version encrypted with Secure Socket Layer( SSL) is called HTTPS, where the "S" stands for Secure. The server program for HTTP is httpd. It answers requests from WWW clients.
Since the HTTP protocol has to establish a new TCP connection for each request for a web page detail when transmitting web pages, it has a relatively long latency, which limits the speed of web page transmission. This disadvantage is remedied by the SPDY protocol (Speedy) developed by Google, the HTTP 2.0 version, HTTP/2 and the QUIC protocol.
A revised version of HTTP/2 follows with HTTP/3. This version relies on the QUIC protocol.