Digest

The Digest response HTTP header provides a digest of the requested resource.

In RFC 7231 terms this is the selected representation of a resource. The selected representation depends on the Content-Type and Content-Encoding header values: so a single resource may have multiple different digest values.

The digest is calculated over the entire representation. The representation itself may be:

  • fully contained in the response message body
  • not at all contained in the message body (for example, in a response to a HEAD request)
  • partially contained in the message body (for example, in a response to a range request).
Header type Response header
Forbidden header name no

Syntax

Digest: <digest-algorithm>=<digest-value>

Digest: <digest-algorithm>=<digest-value>,<digest-algorithm>=<digest-value>

Directives

<digest-algorithm>
Supported digest algorithms are defined in RFC 3230 and RFC 5843, and include SHA-256 and SHA-512. Some of the supported algorithms, including unixsum and MD5 are subject to collisions and are thus not suitable for applications in which collision-resistance is important.
<digest-value>
The result of applying the digest algorithm to the resource representation and encoding the result. The choice of digest algorithm also determines the encoding to use: for example SHA-256 uses base64 encoding.

Examples

Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=
Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=,unixsum=30637

Specifications

Specification Title

draft-ietf-httpbis-digest-headers-latest

Resource Digests for HTTP

This header was originally defined in RFC 3230, but the definition of "selected representation" in RFC 7231 made the original definition inconsistent with current HTTP specifications. When released, The "Resource Digests for HTTP" draft therefore will obsolete RFC 3230 and will update the standard to be consistent.

Browser compatibility

BCD tables only load in the browser

See also