如果没有If-Modified-Since发送,获取304?

时间:2013-02-13 20:22:40

标签: internet-explorer http caching iis-7 browser-cache

我正在尝试了解IE中的一些浏览器缓存行为。我有一个测试页面,其中包含一些css并执行以下操作:

编辑:我不清楚,我有一个test.html文件,其中包含指向test.css文件的链接。每次都会重新发送test.html文件,只缓存test.css文件。

IE9:

  1. 转到页面获取当前文件
  2. css文件以19:58
  3. 的Last-Modified标头返回
  4. 更改css文件
  5. 点击网址栏,然后按Enter
  6. 获取304未针对css文件进行修改
  7. 请求中发送以下标头:

    Request GET /test.css HTTP/1.1
    Accept text/css
    Referer http://10.0.0.60/test.html
    Accept-Language en-US
    User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
    Accept-Encoding gzip, deflate
    Host 10.0.0.60
    

    响应中的Last-Modified标头是19:58(与修改文件之前相同)

    单击链接,使用同一页面或使用相同css文件的其他页面也可以做同样的事情。

    Ctrl + R发送If-Modified-Since标头并获取更新的文件。

    所以我的问题是,什么决定浏览器应该使用缓存版本?如果没有If-Modified-Since标头,为什么服务器返回304?

    服务器是IIS 7

0 个答案:

没有答案