if-modified-since和unless-modified-since(http headers)之间有什么区别?我们应该向此发送哪些Web服务器响应? IE9正在请求我们不熟悉的除非修改后的标题。
我的大多数研究推动都是通向if-modified-since标题。我的理解是,除非修改后的标题是IE特定的。
您可以转到此链接:http://imgur.com/am64WuG以查看请求标题的屏幕截图。
答案 0 :(得分:1)
没有Unless-Modified-Since
[list]这样的HTTP标头。它甚至没有意义:为什么只有当它与您已经知道的版本相同时才需要检索资源?
If-Modified-Since
仅用于获取资源,如果它比浏览器已经知道的版本更新。如果自给定时间以来未对其进行修改,则服务器将不会发送它,而浏览器将从其缓存中获取它。
另请参阅If-Match
和If-None-Match
。这些是更灵活的标题对,其可用于指示服务器仅基于已存在的资源的各种组合(尚未存在的资源)或与一个或多个特定版本存在的资源的各种组合来执行操作。它们基于资源的ETag
而不是上次修改的时间戳。 This question有关于使用上次修改时间与etag的详细信息。
答案 1 :(得分:0)
Unless-Modified-Since
是proposed in a draft的HTTP扩展名/功能。
根据草稿,我们的想法是客户端可以发送带有Range
标头的Unless-Modified-Since
请求,并且服务器/缓存将返回范围,除非该文件自该日期以来已被修改,在这种情况下,服务器/缓存将返回整个文件。 (这对于恢复下载可能很有用-如果未修改文件,则可以继续,如果可以重新启动,则可以继续)
Range是标准的替代选择(相同,但也将使用ETag)。
If-Range
与完整请求相关。
If-Modified-Since
可以使请求失败,而不是返回完整的文件(If-Range
会改变)