浏览器缓存开启之后,请求之前访问过的资源返回的状态码仍然是200,是什么情况,如何解释?

我已经将浏览器缓存开启,在打开第一个页面的时候是200 ok点击页面上的测试超链接,跳转到第二个页面,刚请求的资源,都还是200 ok只有当我刷新当前页面时,才会变成304。

请输入图片描述
请输入图片描述
请输入图片描述

查看请求,都提示(from cache)(为什么没有请求的具体头信息呢?)

请输入图片描述

我的服务器上做了缓存配置的呀:

请输入图片描述

阅读 5.8k
评论
    1 个回答
    依云
    • 24.9k

    因为你用的是 Google Chrome。UI 中的文字描述不清,还没中文翻译。强烈推荐使用 Firebug 再查看一次。注意先确认「网络」面板选项(点那个小箭头)里的「显示 BFCache 响应」已经勾上。

    然后查看,你会发现有两种来自缓存的请求:

    1. 灰色的 304 请求。这是服务器看到请求了,说「火狐你好,这个资源你已经有啦!」
    2. 灰色条纹背景的请求。这是根本没有向服务器发起请求,直接从 cache 里取得的。

    Firebug 中的缓存显示截图

    没有向服务器发送请求的当前没有请求头信息了。Firebug 里是可以看到缓存的请求头信息的。

    评论 赞赏
      撰写回答

      登录后参与交流、获取后续更新提醒