Digest

O cabeçalho de resposta HTTP Digest provém uma digest do recurso requisitado.

Nos termos da RFC 7231 esta é a representação selecionada de um recurso. A representação selecionada depende dos valores dos cabeçalhos Content-Type e Content-Encoding: então um único recurso pode ter diversos valores de "digestão".

A "digestão" é calculada através da representação inteira. A representação em si pode ser:

  • totalmente contida no corpo da mensagem de resposta
  • não contida no corpo da mensagem (por exemplo, na resposta para uma requisição HEAD)
  • parcialmente contido no corpo da mensagem (por exemplo, em uma resposta para uma requisição de intervalo).
Tipo do cabeçalho Response header
Forbidden header name não

Sintaxe

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

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

Diretivas

<digest-algorithm>
Algoritmos de digestão suportados são definidos na RFC 3230 e RFC 5843, e incluem SHA-256 e SHA-512. Alguns dos algoritmos suportados, incluindo unixsum e MD5 são sujeitos a colisões e não são recomendados para aplicações onde resistência à colisções é importante.
<digest-value>
O resultado de aplicação do algoritmo de digestão na representação do recurso e codificando o resultado. A escolha do algoritmo de digestão também determina a codificação a ser usada: por exemplo SHA-256 usa codificação base64.

Exemplos

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

Especificações

Especificação Título

draft-ietf-httpbis-digest-headers-latest

Resource Digests for HTTP

Este cabeçalho foi originalmente definido na RFC 3230, mas a definição de "representação selecionada" na RFC 7231 fez com que a definição original ficasse inconsistente com as especificações atuais do HTTP. Quando lançado, o rascunho de "Digestão de recursos para HTTP" tornará a RFC 3230 obsoleta e atualizará o padrão para ser consistente.

Compatibilidade de navegador

Update compatibility data on GitHub
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

Veja também