2011-02-21 41 views
3

想象一下,用户要求输入一个10字节文件的Rage: bytes=2-5。什么MD5总和必须提供给用户?所有10个字节或仅部分内容的MD5总和字节2-5?http中的md5,范围为

RFC2616第14.15读取:

MD5摘要是基于 计算的实体主体,包括 已经施加 任何内容编码,但不包括任何 转移 - 的含量编码应用于 消息主体。如果消息是 与传输编码接收, 编码必须删除之前 检查Content-MD5值对 收到的实体。

我该如何理解?我问这是因为我不会向部分内容添加md5sums,如果它必须为每个范围请求重新生成。

回答

2

这是:http://trac.tools.ietf.org/wg/httpbis/trac/ticket/178

因此,没有简单的答案,工作组会很乐意接受反馈意见。

+1

该票证是关于组合多个答复的代理。但是阅读它,尤其是RFC 3230的引用,很明显Content-MD5仅适用于所请求的范围。 – aaz

+1

我同意aaz,而且,虽然没有看到http服务器正确实现了content-md5标头,并且它始终是整个文件的base64编码md5总和。 – shacharz

0

除非你通过一些非常不寻常的网络协议运行HTTP,否则你通过使用MD5校验和获得了什么? TCP handles integrity checking,HTTP标头是可选的,并且不打算确保对恶意攻击的完整性。

+0

即使IPv6没有校验和,TCP已经有了校验和。 – Gumbo