IF-MODIFIED-SINCE vs UNLESS-MODIFIED-SINCE

时间:2013-03-15 13:01:35

标签: internet-explorer http webserver

if-modified-since和unless-modified-since(http headers)之间有什么区别?我们应该向此发送哪些Web服务器响应? IE9正在请求我们不熟悉的除非修改后的标题。

我的大多数研究推动都是通向if-modified-since标题。我的理解是,除非修改后的标题是IE特定的。

您可以转到此链接:http://imgur.com/am64WuG以查看请求标题的屏幕截图。

2 个答案:

答案 0 :(得分:1)

没有Unless-Modified-Since [list]这样的HTTP标头。它甚至没有意义:为什么只有当它与您已经知道的版本相同时才需要检索资源?

If-Modified-Since仅用于获取资源,如果它比浏览器已经知道的版本更新。如果自给定时间以来未对其进行修改,则服务器将不会发送它,而浏览器将从其缓存中获取它。

另请参阅If-MatchIf-None-Match。这些是更灵活的标题对,其可用于指示服务器仅基于已存在的资源的各种组合(尚未存在的资源)或与一个或多个特定版本存在的资源的各种组合来执行操作。它们基于资源的ETag而不是上次修改的时间戳。 This question有关于使用上次修改时间与etag的详细信息。

答案 1 :(得分:0)

Unless-Modified-Sinceproposed in a draft的HTTP扩展名/功能。

根据草稿,我们的想法是客户端可以发送带有Range标头的Unless-Modified-Since请求,并且服务器/缓存将返回范围,除非该文件自该日期以来已被修改,在这种情况下,服务器/缓存将返回整个文件。 (这对于恢复下载可能很有用-如果未修改文件,则可以继续,如果可以重新启动,则可以继续)

Range是标准的替代选择(相同,但也将使用ETag)。

If-Range与完整请求相关。

If-Modified-Since可以使请求失败,而不是返回完整的文件(If-Range会改变)