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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
DigestChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support
Full support

See also