在nginx和浏览器行为上缓存静态资源

时间:2011-06-30 06:41:47

标签: nginx browser-cache multiple-browsers

我想缓存静态资源,因此我为静态资源设置了expires标头。

设置过期标题后,我注意到的是:

  1. Firefox和IE不向nginx发送静态资源请求
  2. 但所有其他浏览器(Chrome,Safari,Opera)都会向我的nginx发送请求,nginx会以304 Not Modified回复
  3. chrome,safari,opera缓存我的静态资源?这是正常的行为吗?如果不是我应该做什么,以便其他浏览器缓存静态资源?

1 个答案:

答案 0 :(得分:1)

仔细查看来自chrome / safari / opera的后续HTTP请求:

这很可能是有条件的GET。 此外,304 Not Modified没有正文。

所以这些浏览器也是缓存,只是不要相信内容在到期日之前保持不变。

他们只是更经常地嗅着冰箱里的牛奶: - )