staticContent ClientCache设置

时间:2013-01-25 14:27:36

标签: .net iis web-config

我已将以下内容添加到我的web.config中,以启用14天的图像缓存。

  <location path="Images">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMaxAge="14.00:00:00" cacheControlMode="UseMaxAge" />
      </staticContent>
    </system.webServer>
  </location>

使用F12工具在chrome中查看时,我可以看到浏览器在刷新时似乎仍然从服务器请求图像。这是一个304,所以不再下载它,但仍然看起来像页面刷新等每个图像浪费的旅行。

这是正确的行为还是我应该根据它对文件的标题从缓存中拉出来?

1 个答案:

答案 0 :(得分:0)

缓存控制是服务器端,而不是客户端。因此,浏览器仍然需要向服务器询问该文件,并让304知道它应该使用其缓存副本。

考虑以下HTML(无论图像是否设置为从缓存返回都完全相同),浏览器如何知道是下载图像还是使用缓存版本?

<img src="somefile.jpg" />

客户端不知道,因为它不像服务器在呈现给浏览器的cache-image="true"标记上设置某种img属性。