W3C HTTPSPECS

HTTP Specifications and Drafts

This list is drawn from W3C Technical Reports and the IETF HTTP WG charter. You can also have a look at the list of interesting papers related to HTTP.

HTTP Working Group Internet Drafts

IETF Request For Comments (RFCs)

Hypertext Transfer Protocol -- HTTP/1.1 - Draft Standard RFC 2616 (Postscript)

The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred.

HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068.

An errata to RFC2616 is available, it collects also errata to RFC2617

HTTP Authentication: Basic and Digest Access Authentication - Draft Standard RFC 2617

"HTTP/1.0", includes the specification for a Basic Access Authentication scheme. This scheme is not considered to be a secure method of user authentication (unless used in conjunction with some external secure system such as SSL [5]), as the user name and password are passed over the network as cleartext.

This document also provides the specification for HTTP's authentication framework, the original Basic authentication scheme and a scheme based on cryptographic hashes, referred to as "Digest Access Authentication". It is therefore also intended to serve as a replacement for RFC 2069 [6]. Some optional elements specified by RFC 2069 have been removed from this specification due to problems found since its publication; other new elements have been added for compatibility, those new elements have been made optional, but are strongly recommended.

Like Basic, Digest access authentication verifies that both parties to a communication know a shared secret (a password); unlike Basic, this verification can be done without sending the password in the clear, which is Basic's biggest weakness. As with most other authentication protocols, the greatest sources of risks are usually found not in the core protocol itself but in policies and procedures surrounding its use.

Use and Interpretation of HTTP Version Numbers - Informational RFC 2145

HTTP request and response messages include an HTTP protocol version number. Some confusion exists concerning the proper use and interpretation of HTTP version numbers, and concerning interoperability of HTTP implementations of different protocol versions. This document is an attempt to clarify the situation.

HTTP State Management Mechanism - Proposed Standard RFC 2109

This document specifies a way to create a stateful session with HTTP requests and responses. It describes two new headers, Cookie and Set-Cookie, which carry state information between participating origin servers and user agents. The method described here differs from Netscape's Cookie proposal, but it can interoperate with HTTP/1.0 user agents that use Netscape's method. (See the HISTORICAL section.)

Digest Access Authentication - Proposed Standard RFC 2069 (see RFC 2617)

The protocol referred to as "HTTP/1.0" includes the specification for a Basic Access Authentication scheme. This scheme is not considered to be a secure method of user authentication, as the user name and password are passed over the network as clear text. A specification for a different authentication scheme is needed to address this severe limitation. This document provides specification for such a scheme, referred to as "Digest Access Authentication". Like Basic, Digest access authentication verifies that both parties to a communication know a shared secret (a password); unlike Basic, this verification can be done without sending the password in the clear, which is Basic's biggest weakness. As with most other authentication protocols, the greatest sources of risks are usually found not in the core protocol itself but in policies and procedures surrounding its use.

HTTP/1.1 - Proposed Standard RFC 2068 (see RFC 2616)

The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods.A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1". You can also have a look at the HTTP archives for previous versions of this document.

HTTP/1.0 - Informational RFC 1945 (see RFC 2616)

The HTTP/1.0 specification is available as an Informational RFC 1945. No standards track activity will occur with HTTP/1.0. The authors are Tim Berners-Lee, Roy T. Fielding, and Henrik Frystyk Nielsen on behalf of the IETF HTTP working group. You can also have a look at the HTTP archives for previous versions of this document.

HTTP/1.0 is the version deployed by most existing Web applications yet RFC 1945 does not specify an Internet standard of any kind. As HTTP/1.0 has serious problems regarding scalability and performance - some of these are explained in various HTTP Performance papers - new HTTP applications SHOULD NOT be based on this specification but instead on the  HTTP/1.1 specification.


Yves Lafon
@(#) $Id: Specs.html,v 1.33 2002/03/04 18:15:42 yves Exp $