Want-Digest

O cabeçalho HTTP Want-Digest é primordialmente usado em uma requisição HTTP, para pedir ao respondedor para prover uma digestão (digest) do recurso requisitado usando o cabeçalho de resposta Digest.

O cabeçalho contém identificadores para um ou mais algoritmos de digestão que o remetente deseja que o respondedor use para criar a digestão. O remetente pode usar valores de qualidade para indicar sua preferência ordenando dentre as escolhas que ele oferece.

Se Want-Digest não inclui nenhum algoritmo de digestão que aquele servidor suporta, o servidor pode responder com:

  • uma digestão calculada usando outro algoritmo de digestão, ou
  • um erro 400 Bad Request, e inclui outro cabeçalho Want-Digest com a resposta, listando os algoritmos que ele suporta.

Veja a página do cabeçalho Digest para mais informações.

Tipo de cabeçalho General header
Forbidden header name não

Sintaxe

Want-Digest: <digest-algorithm>

// Múltiplos algoritmos, pesados com a sintaxe de qualidade de valor:
Want-Digest: <digest-algorithm><q-value>,<digest-algorithm><q-value>

Diretivas

<digest-algorithm>
Algoritmos de digestão suportados são definidos na RFC 3230 e RFC 5843, e inclui SHA-256 e SHA-512. Alguns algoritmos suportados, incluindo unixsum e MD5 são sujeitos a colisões e não são apropriados para aplicações em que resistência à colisão é importante.
<q-value>
O valor de qualidade para aplicar aquela opção.

Exemplos

Want-Digest: sha-256
Want-Digest: SHA-512;q=0.3, sha-256;q=1, md5;q=0

Operação básica

O remetente provém a lista de digestões que ele está preparado para aceitar, e o servidor usa um deles:

Request:

  GET /item
  Want-Digest: sha-256;q=0.3, sha;q=1

Response:

  HTTP/1.1 200 Ok
  Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=

Digestões não suportadas

O servidor não suporta nenhum do algoritmos de digestão requisitados, então ele usa um algoritmo diferente:

Request:

  GET /item
  Want-Digest: sha;q=1

Response:

  HTTP/1.1 200 Ok
  Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=

O servidor não suporta nenhuma dos algoritmos de digestão requisitados, então responde com um erro 400 e inclui outro cabeçalho Want-Digest, listando os algoritmos que ele suporta:

Request:

  GET /item
  Want-Digest: sha;q=1

Response:

  HTTP/1.1 400 Bad Request
  Want-Digest: sha-256, sha-512

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 a definição original ficar inconsistente com as atuais especificações HTTP. Quando lançado, o rascunho "Digestões de Recursos para HTTP" tornará a RFC 3230 obsoleta e vai atualizar o padrão para ficar consistente.

Compatibilidade de navegador

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Want-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