HttpWebResponse LastModified

HttpWebResponse.LastModified是否准确? 它总是存在吗? 我的项目是创建一种专注的网页抓取工具,如果我将使用资源的哈希值或者只是使用HttpWebResponse.LastModified属性来检查资源的“新鲜度”,我就会陷入困境。

使用散列值意味着每次检查资源时都会对资源进行流式传输。 这对整体性能有很大影响。

如果我只是检查HttpWebResponse.LastModified,是否准确?


HttpWebResponse.LastModified返回HTTP Last-Modified响应头的值。

HTTP响应头由发送响应的HTTP服务器设置。 如果它设置了Last-Modified响应头,并且它是否将其设置为准确值,它完全取决于服务器。

Last-Modified响应标头是HTTP中缓存验证模型的一部分。 它通常与If-Modified-Since请求头一起使用。 您可能需要阅读HTTP / 1.1,第6部分:缓存以了解详细信息。


这取决于你的目的。

Last-Modified将意味着服务器很高兴你继续使用一个具有相同的最后修改值的实体(或者后面的含义,尽管服务器的最后一次修改会返回但可能会发生在一些多服务器情况下)。

如果电子标签不是一个“弱”电子标签,电子标签就更加强大,因为它标识了特定实体(不同语言版本,不同内容类型版本或不同内容编码版本的电子标签会有所不同除非它们实际上是[在有限的情况下可能发生的]相同的实体)。

就服务器变化而言,两者都可能“松散”被认为是微不足道的; 服务器很高兴你继续使用以前的实体,因为它认为它是相同的(除了“强”的电子标签,它必须指示用于范围请求的八位字节到八位字节标识)。

当然,两者都可能是明显错误的。 错误发生。 也就是说,当他们错误的时候往往在另一个方向上,在没有发生任何事情时报告变化(一种有效的行为,一种允许对新鲜度过于谨慎;从不损害只是次优)。

那么问题是,您是否需要知道服务器认为没有更改(最常用)或者确实发生了更改(几乎局限于诊断工具)。

除非你有明确的理由不相信,否则相信最后修改和电子标签(但更多地信任电子标签)。

链接地址: http://www.djcxy.com/p/62707.html

上一篇: HttpWebResponse LastModified

下一篇: Key Handlers in assembly