πŸ“„ HTTP Documentation

HTTP is defined by these IETF RFCs and IANA registries.

Core Specifications

The β€œcore” semantics of the HTTP protocol are defined by:

Those semantics are expressed β€œon the wire” in three ways:

Later versions of HTTP offer field compression:

These RFCs collectively obsolete all preceding RFCs defining HTTP, including RFC 1945, RFC 2068, RFC 2616, RFC 2617, RFC 7230-5, and RFC 7540.

Also relevant is the Structured Field Values specification, which is used in a growing number of headers and trailers:

Protocols built β€œon top” of HTTP should follow Best Current Practice, as documented here:

Extension Registries

There are a large number of HTTP extensions, including methods, status codes and headers. It’s important to note that they are all β€œpart of” HTTP, as long as they’re listed in the appropriate registries:

Individual headers have their own registries that regulate permissible values, including:

This is a partial list of HTTP-relevant specifications, here for convenience. For the complete list of HTTP extensions, see the relevant registry.

Methods

Status Codes

Caching Extensions

Connection and Intermediary Extensions