Skip to main content

3.3. Rich Functionality

3.3. Rich Functionality

HTTP offers a number of features to applications, such as:

  • Message framing is handled by the protocol, meaning that applications don't need to define their own.

  • HTTP caching allows responses to be reused. See Section 4.9.

  • HTTP methods, status codes, and header fields provide a common vocabulary for protocol operations and metadata.

  • Authentication is standardised. See Section 4.12.

  • Content negotiation allows multiple representations of one resource. See Section 4.8.

  • The range request mechanism allows partial content retrieval. See [HTTP] Section 14.

  • The Expect/Continue mechanism allows the client to get feedback about a request before sending potentially large amounts of content. See [HTTP] Section 10.1.1.

  • HTTP/2 [HTTP/2] and HTTP/3 [HTTP/3] offer several features, including multiplexing multiple messages on one connection, prioritising them, and enabling server push. See Section 4.15.

An application can use existing HTTP functionality instead of defining its own, provided that the semantics of HTTP are not violated. In other words, it's less work to use features like these than it is to reinvent them.