The HTTP protocol

The correct format for HTTP requests and responses depends on the version of the HTTP protocol (or HTTP specification) that is used by the client and by the server.

The versions of the HTTP protocol (or "HTTP versions") commonly used on the Internet are HTTP/1.0, which is an earlier protocol including fewer functions, and HTTP/1.1, which is a later protocol including more functions. The client and server might use different versions of the HTTP protocol. Both client and server must state the HTTP version of their request or response in the first line of their message.

Internet Society and IETF (Internet Engineering Task Force) Request for Comments documents (known as RFCs) provide the official definitions for the HTTP protocol. These documents are:

HTTP/1.0
RFC 1945, Hypertext Transfer Protocol - HTTP/1.0, available from http://www.ietf.org/rfc/rfc1945.txt
HTTP/1.1
RFC 2616, Hypertext Transfer Protocol - HTTP/1.1, available from http://www.ietf.org/rfc/rfc2616.txt
The RFCs state the actions that a client and a server should perform to exchange requests and responses in an appropriate way for each version of the HTTP protocol. These actions are described as "requirements". A client or server that fulfils the requirements for its version of the HTTP protocol is said to be "compliant" with the HTTP specification.