3

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

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

IE9:

  1. 转到页面以获取当前文件
  2. css 文件返回 19:58 的 Last-Modified 标头
  3. 更改css文件
  4. 点击网址栏并按回车键
  5. 为 css 文件获取未修改的 304

在请求中发送以下标头:

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

4

0 回答 0