1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
---
title: Want-Digest
slug: Web/HTTP/Headers/Want-Digest
tags:
- Cabeçalho HTTP
- HTTP
translation_of: Web/HTTP/Headers/Want-Digest
---
<div>{{HTTPSidebar}}</div>
<p>O cabeçalho HTTP <code><strong>Want-Digest</strong></code> é primordialmente usado em uma requisição HTTP, para pedir ao respondedor para prover uma digestão ({{Glossary("digest")}}) do recurso requisitado usando o cabeçalho de resposta <code><a href="/en-US/docs/Web/HTTP/Headers/Digest">Digest</a></code>.</p>
<p>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 <a href="/en-US/docs/Glossary/Quality_values">valores de qualidade</a> para indicar sua preferência ordenando dentre as escolhas que ele oferece.</p>
<p>Se <code>Want-Digest</code> não inclui nenhum algoritmo de digestão que aquele servidor suporta, o servidor pode responder com:</p>
<ul>
<li>uma digestão calculada usando outro algoritmo de digestão, ou</li>
<li>um erro <code><a href="/en-US/docs/Web/HTTP/Status/400">400 Bad Request</a></code>, e inclui outro cabeçalho <code>Want-Digest</code> com a resposta, listando os algoritmos que ele suporta.</li>
</ul>
<p>Veja a página do cabeçalho <code><a href="/en-US/docs/Web/HTTP/Headers/Digest">Digest</a></code> para mais informações.</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Tipo de cabeçalho</th>
<td>{{Glossary("General header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>não</td>
</tr>
</tbody>
</table>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox notranslate">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></pre>
<h2 id="Diretivas">Diretivas</h2>
<dl>
<dt><code><digest-algorithm></code></dt>
<dd>Algoritmos de digestão suportados são definidos na <a href="https://tools.ietf.org/html/rfc3230">RFC 3230</a> e <a href="https://tools.ietf.org/html/rfc5843">RFC 5843</a>, e inclui <code>SHA-256</code> e <code>SHA-512</code>. Alguns algoritmos suportados, incluindo <code>unixsum</code> e <code>MD5</code> são sujeitos a colisões e não são apropriados para aplicações em que resistência à colisão é importante.</dd>
<dt><code><q-value></code></dt>
<dd>O <a href="/en-US/docs/Glossary/Quality_values">valor de qualidade</a> para aplicar aquela opção.</dd>
</dl>
<h2 id="Exemplos">Exemplos</h2>
<pre class="syntaxbox notranslate">Want-Digest: sha-256
Want-Digest: SHA-512;q=0.3, sha-256;q=1, md5;q=0</pre>
<h3 id="Operação_básica">Operação básica</h3>
<p>O remetente provém a lista de digestões que ele está preparado para aceitar, e o servidor usa um deles:</p>
<pre class="notranslate">Request:
GET /item
Want-Digest: sha-256;q=0.3, sha;q=1
Response:
HTTP/1.1 200 Ok
Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=</pre>
<h3 id="Digestões_não_suportadas">Digestões não suportadas</h3>
<p>O servidor não suporta nenhum do algoritmos de digestão requisitados, então ele usa um algoritmo diferente:</p>
<pre class="notranslate">Request:
GET /item
Want-Digest: sha;q=1
Response:
HTTP/1.1 200 Ok
Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=</pre>
<p>O servidor não suporta nenhuma dos algoritmos de digestão requisitados, então responde com um erro 400 e inclui outro cabeçalho <code>Want-Digest</code>, listando os algoritmos que ele suporta:</p>
<pre class="notranslate">Request:
GET /item
Want-Digest: sha;q=1
Response:
HTTP/1.1 400 Bad Request
Want-Digest: sha-256, sha-512</pre>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Título</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><a class="smpl" href="https://datatracker.ietf.org/doc/draft-ietf-httpbis-digest-headers">draft-ietf-httpbis-digest-headers-latest</a></p>
</td>
<td>Resource Digests for HTTP</td>
</tr>
</tbody>
</table>
<p>Este cabeçalho foi originalmente definido na <a href="https://tools.ietf.org/html/rfc3230">RFC 3230</a>, mas a definição de "representação selecionada" na <a href="https://www.rfc-editor.org/info/rfc7231">RFC 7231</a> 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.</p>
<h2 id="Compatibilidade_de_navegador">Compatibilidade de navegador</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("http.headers.Want-Digest")}}</p>
<h2 id="Veja_também">Veja também</h2>
<ul>
<li>{{HTTPHeader("Digest")}}</li>
</ul>
|