浏览器缓存,Last-Modified标头

时间:2014-02-06 15:22:05

标签: header http-headers browser

我们假设有两个网址:

http://example.com/myaccount?user=12345
http://example.com/myaccount?user=34567

据我所知,浏览器会单独缓存它们,并且不会使用第一个请求中的Last-Modified标头重新验证第二个。

在这种情况下是否可以强制浏览器使用Last-Modified标头?

你能解释一下为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

我认为在某些情况下,Web服务器将忽略查询字符串。例如,您可以尝试在开箱即用的Apache服务器上curl -I http://example.com/styles.css | grep Last-Modified,然后为http://example.com/styles.css?v=2运行相同的命令。假设文件存在,您可能会获得相同的Last-Modified时间戳。

可能是浏览器(我的猜测是他们这样做)将?v=2视为不同的文件或具有更新内容的文件。此外,我认为大多数内容交付网络都将以这种方式进行配置,如果文件的查询字符串不同,则允许提供文件的新副本。

无论如何,这是一个有趣的问题。我会更多地阅读它。我希望有人可以在这里更详细地解释这一点。