首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpWebResponse LastModified

HttpWebResponse LastModified
EN

Stack Overflow用户
提问于 2010-10-08 12:09:30
回答 2查看 3.4K关注 0票数 3

HttpWebResponse.LastModified是否准确?它总是存在吗?我的项目是创建一种有针对性的网络爬虫,如果我将使用资源的哈希值或仅使用HttpWebResponse.LastModified属性来检查资源的“新鲜度”,我会感到困惑。

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

如果我检查一下HttpWebResponse.LastModified,它是准确的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-08 12:12:59

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

HTTP响应头由发送响应的HTTP服务器设置。是否设置Last-Modified响应头,以及是否将其设置为精确值,完全取决于服务器。

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

票数 5
EN

Stack Overflow用户

发布于 2010-10-08 18:06:27

这取决于你的目的。

Last-Modified将意味着服务器很乐意让您继续使用具有相同last-modified值的实体(或者隐含地说,尽管服务器的last-modified会很奇怪地返回,但在某些多服务器的情况下可能会发生)。

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

两者都可以是“松散的”,因为服务器的变化可能被认为是无关紧要的;服务器很高兴您继续使用以前的实体,因为它认为它是相同的(除了“强”电子标签,它必须指示八位字节到八位字节的身份才能与范围请求一起使用)。

当然,两者都可能是完全错误的。错误就会发生。也就是说,当他们犯错时,更多的是在相反的方向上,在没有发生变化的情况下报告变化(这是一种有效的行为,允许人们对新鲜度过于谨慎;它永远不会造成损害,只会使其处于次优状态)。

那么,问题是,您是否需要知道服务器是否认为没有进行任何更改(大多数使用情况),还是确实发生了更改(几乎仅限于诊断工具)。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3887622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档