diff options
Diffstat (limited to 'files/zh-cn/web/http/headers/digest/index.html')
-rw-r--r-- | files/zh-cn/web/http/headers/digest/index.html | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/files/zh-cn/web/http/headers/digest/index.html b/files/zh-cn/web/http/headers/digest/index.html new file mode 100644 index 0000000000..0511674d21 --- /dev/null +++ b/files/zh-cn/web/http/headers/digest/index.html @@ -0,0 +1,90 @@ +--- +title: Digest +slug: Web/HTTP/Headers/Digest +tags: + - HTTP + - HTTP Header +translation_of: Web/HTTP/Headers/Digest +--- +<div>{{HTTPSidebar}}</div> + +<p><code><strong>Digest</strong></code> 响应 HTTP 头提供了请求资源一个 {{Glossary("摘要")}} 。</p> + +<p>在 <a href="https://tools.ietf.org/html/rfc7231">RFC 7231</a> 术语中,它是一个资源的选定表示。这个选定代表依赖于 <code><a href="/en-US/docs/Web/HTTP/Headers/Content-Type">Content-Type</a></code> 和 <code><a href="/en-US/docs/Web/HTTP/Headers/Content-Encoding">Content-Encoding</a></code> 头部值:所以一个单一的资源可能有多个不同的摘要值。</p> + +<p>摘要是整个表示的计算。这个表示可以是:</p> + +<ul> + <li>完全包含在响应消息体中</li> + <li>完全不包含在消息体中中 (例如,在一个 <code><a href="/en-US/docs/Web/HTTP/Methods/HEAD">HEAD</a></code> 请求的响应中)</li> + <li>部分包含在消息体中 (例如,在一个 <a href="/en-US/docs/Web/HTTP/Range_requests">range request</a> 的响应中)。</li> +</ul> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">Digest: <digest-algorithm>=<digest-value> + +Digest: <digest-algorithm>=<digest-value>,<digest-algorithm>=<digest-value> +</pre> + +<h2 id="指令">指令</h2> + +<dl> + <dt><code><digest-algorithm></code></dt> + <dd>已支持的摘要算法在 <a href="https://tools.ietf.org/html/rfc3230">RFC 3230</a> 和 <a href="https://tools.ietf.org/html/rfc5843">RFC 5843</a>,中定义,包括 <code>SHA-256</code> 和 <code>SHA-512</code>。一些支持的算法(如 <code>unixsum</code> 和 <code>MD5</code>) 容易发生冲突,因此不适合冲突阻力很重要的应用。</dd> + <dt><code><digest-value></code></dt> + <dd>对资源表示的摘要算法的结果和编码的结果。摘要算法的选择决定了编码类型:例如 <code>SHA-256</code> 用 base64 编码。</dd> +</dl> + +<h2 id="示例">示例</h2> + +<pre class="syntaxbox">Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE= +Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=,unixsum=30637</pre> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">规范</th> + <th scope="col">标题</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>该头最初在 <a href="https://tools.ietf.org/html/rfc3230">RFC 3230</a> 中定义,但在 <a href="https://www.rfc-editor.org/info/rfc7231">RFC 7231</a> 里的 "选中的表示" 定义使原始定与当前 HTTP 规范中不一致。发布时,"HTTP 资源摘要" 草案将废弃 RFC 3230 并将更新标准以保持一致。</p> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<p class="hidden">该页面的兼容表是由结构化数据生成。如果你想要贡献数据,请访问 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并发送一个 pull 请求。</p> + +<p>{{Compat("http.headers.Digest")}}</p> + +<h2 id="参见">参见</h2> + +<ul> + <li>{{HTTPHeader("Want-Digest")}}</li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests">HTTP range requests</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206" title="The HTTP 206 Partial Content success status response code indicates that the request has succeeded and has the body contains the requested ranges of data, as described in the Range header of the request."><code>206 Partial Content</code></a></li> +</ul> |