IE似乎没有缓存我的图像

时间:2011-08-24 11:22:53

标签: asp.net html css asp.net-mvc iis-7

我真的希望有人有一些想法。我已经设置了我的网络配置来缓存图像30天。

的web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>

然而,当我通过IE请求页面并结帐网络流量时,这就是我所看到的:

Request Header:

Key Value
Request GET http://www.xx.com/Content/Icons/login.png HTTP/1.1
Accept  image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5
Referer http://www.selftestware.com/
Accept-Language en-US
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding gzip, deflate
Host    www.xx.com
If-Modified-Since   Wed, 24 Aug 2011 15:48:10 GMT
If-None-Match   W/"0195d397562cc1:0"
Proxy-Connection    Keep-Alive
Pragma  no-cache
Cookie  __utma=xx

Response:

Key Value
Response    HTTP/1.1 200 OK
Cache-Control   public,max-age=2592000
Content-Type    image/png
Last-Modified   Wed, 24 Aug 2011 15:48:10 GMT
Accept-Ranges   bytes
ETag    W/"0195d397562cc1:0"
Server  Microsoft-IIS/7.5
X-Powered-By    ASP.NET
Date    Wed, 24 Aug 2011 10:39:14 GMT
Content-Length  727

不应该发送304(未修改)。我只是无法理解这里的错误。

1 个答案:

答案 0 :(得分:0)

您的请求标头已发送“ Pragma:no-cache ”,这意味着告知服务器不要缓存此请求。这就是您的服务器响应HTTP 200而不是HTTP 304的原因。

浏览器发送了“ Pragma:no-cache ”。如果按Ctrl + F5热键或配置浏览器不缓存任何内容都会导致此结果。您可以尝试创建一个空白页面,其中包含指向此缓存页面的链接,然后单击其上的链接。您会看到此页面已被缓存。