0

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

  • 标题中的 LastModified 日期时间,然后如果这些不存在则回退到
  • 来自标头的内容长度

然而,我发现对于许多网站来说,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

谢谢

4

2 回答 2

2

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

于 2009-11-23T07:28:50.190 回答
0

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

于 2009-11-24T03:56:12.270 回答