4. 完整性偏好字段
发送方可以使用 Want-Content-Digest 或 Want-Repr-Digest HTTP 字段来指示其对完整性字段的兴趣以及哈希算法偏好. 这些字段可用于请求和响应.
Want-Content-Digest 指示发送方希望在与请求 URI 和表示元数据相关联的消息上接收内容摘要 (通过 Content-Digest 字段). Want-Repr-Digest 指示发送方希望在与请求 URI 和表示元数据相关联的消息上接收表示摘要 (通过 Repr-Digest 字段).
如果在响应中使用 Want-Content-Digest 或 Want-Repr-Digest, 则表示服务器希望客户端在未来请求中提供相应的完整性字段.
完整性偏好字段只是提示. 该字段的接收方可以忽略它, 并使用任意算法发送完整性字段, 或完全省略该字段; 例如参见 Appendix C.2. 偏好被忽略并不是协议错误. 使用完整性字段和完整性偏好的应用可以定义在本规范之外运行的期望或约束. 被忽略的偏好属于特定于应用的问题.
Want-Content-Digest 和 Want-Repr-Digest 的类型为 Dictionary, 其中每个:
-
key 传达哈希算法 (see Section 5);
-
value 是 Integer (Section 3.3.1 of [STRUCTURED-FIELDS]), 传达一个递增的, 相对的, 带权偏好. 它必须位于 0 到 10 (含) 的范围内. 1 表示最不偏好, 10 表示最偏好, 值 0 表示 "不可接受".
示例:
Want-Repr-Digest: sha-256=1
Want-Repr-Digest: sha-512=3, sha-256=10, unixsum=0
Want-Content-Digest: sha-256=1
Want-Content-Digest: sha-512=3, sha-256=10, unixsum=0