Content-Digest 与 Repr-Digest HTTP 字段(HTTP 内容与表示)

问题描述 投票:0回答:2

在最新的草案Digest Fields(与之相关的是HTTP Message Signatures)中,作者定义了新的HTTP字段 -

Content-Digest
Repr-Digest
- 可用于完整性摘要的目的。

根据文件:

Content-Digest 字段可用于保证 HTTP 消息内容的完整性。 Repr-Digest 字段可用于保证 HTTP 表示的完整性。

我试图理解这两个 HTTP 字段之间用例的差异。

我很难理解 HTTP 消息内容HTTP 消息表示 之间的区别。两者之间似乎有一些重叠。有人可以帮忙解释一下吗?

文档中这两个 HTTP 字段的描述如下。

Content-Digest
HTTP 字段可用于请求和响应中,以传达使用应用于实际消息内容的哈希算法计算出的摘要。

Repr-Digest
HTTP 字段可用于请求和响应中,以传达使用应用于整个选定表示数据的哈希算法计算出的摘要。

http http-headers
2个回答
0
投票

让我们了解这两个术语之间差异的是来自 https://datatracker.ietf.org/doc/draft-ietf-httpbis-digest-headers/ 的附录 B 主动摘要示例。在附录 B 中,您将找到针对不同场景的 Content-Digest 和 Repr-Digest 这两个标头的示例。我的理解是,Content-Digest 仅为 HTTP 响应的给定部分提供哈希,而 Repr-Digest 为完整内容提供哈希。您将看到范围 HTTP 请求的差异 - 响应中的 Repr-Digest 字段将为整个内容计算,即使您只将请求的范围返回给客户端。而内容摘要将根据整个内容的部分范围进行计算。

另一个示例是没有内容的响应 (HTTP 204):将根据空消息计算 Content-Digest,而将根据创建的内容计算 Repr-Digest。

当两个字段具有相同值时也是有效的情况。这是内容全部返回的常见情况。


0
投票

您引用的标准草案使用术语 HTTP 表示,而不是 HTTP message 表示。

因此,我们讨论的是 RFC 9110 标准定义的 representations,这是服务器提供整个资源的特定形式(例如格式、编码、语言)。

© www.soinside.com 2019 - 2024. All rights reserved.