我已经将以下内容添加到我的web.config中,以启用14天的图像缓存。
<location path="Images">
<system.webServer>
<staticContent>
<clientCache cacheControlMaxAge="14.00:00:00" cacheControlMode="UseMaxAge" />
</staticContent>
</system.webServer>
</location>当使用F12工具在chrome中查看时,我可以看到当我刷新时,浏览器似乎仍然从服务器请求图像。它得到了304,所以不需要再次下载,但在页面刷新等情况下,每个图像看起来仍然是一次浪费的旅行。
这是正确的行为吗?还是应该像我预期的那样,根据文件的头文件从缓存中拉出?
发布于 2013-01-25 22:43:12
缓存控制是服务器端的,而不是客户端的。因此,浏览器仍然需要向服务器请求文件,并让304知道它应该使用其缓存的副本。
在下面的HTML中(无论图像是否设置为从缓存返回,它都是完全相同的),浏览器如何知道是下载图像还是使用缓存版本?
<img src="somefile.jpg" />客户机不知道,因为服务器不会在呈现给浏览器的img标记上设置某种cache-image="true"属性。
https://stackoverflow.com/questions/14523795
复制相似问题