2013-02-14 715 views

回答

11

两个代表邮件正文的哈希和。

不完全。 Content-MD5是一个哈希,但ETag是一个不透明的标识:客户端不知道这意味着什么。确实,生成适当的ETag的一种方法是对资源的数据进行散列处理,但并不是唯一的方法。

两者都可用于检查自上次 由特定客户端请求时是否更改资源。

这是真的,虽然在这两种情况下,你都可以从理论上得到误报和误报。

如果他们做同样的事情,他们为什么共存于RFC2616规范?

的共存,因为他们的目的不同; “他们做同样的事情”是不正确的。

Content-MD5旨在让客户验证所传输的资源的完整性:它的含义是明确的,并且它不应该在已接收到响应后使用。

ETag旨在被用于协调高速缓存。作为对过程不透明,它允许从它的力学解耦“资源标识符”的语义(因此,服务器可以选择使用它想要的任何标识方案,而且是免费的,而无需任何客户端更改该方案在未来说)。此外,ETag支持weak validation,允许种源的2按位不同的版本被作为语义上等同处理。

相关问题