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
eSHA-512
. Alguns dos algoritmos suportados, incluindounixsum
eMD5
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.