当HTTP网页是html / text类型时,如何判断HTTP网页何时发生变化?

我正在尝试计算出算法,以判断网络上的非二进制文件是否已更改。 我打算去:

  • LastModified datetime from header,然后如果这些不存在则回退到
  • 来自标题的ContentLength

我发现,对于很多网站而言,HTML页面的LastModified实际上只是使用当前的DateTime,因此这种方法不起作用(即会导致页面总是在变化)我认为… ?

那么什么是好的算法呢? 怎么样?

IF response.ContentType.StartsWith("text/html") <== or should this just be "text" THEN: Check based on comparing text content before & after ELSE: IF LastModified dates are OK Compare based on LastModified dates ELSE Compare based on ContentLength 

谢谢

发送请求,指定If-Modified-Since http标头。 然后由服务器来回复新的html或304 – 内容未更改。

ETag响应头是一个很好的指标,如果存在的话。 使用If-None-Match(或只是HEAD请求)的请求来查看。