IIS 7.5 and images not being cached

browser-cache, caching, iis, iis-7.5

Solution

The following should cause the browsers to cache your images:

<staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
<httpProtocol>
    <customHeaders>
        <add name="Cache-Control" value="public" />
    </customHeaders>
</httpProtocol>

The `<caching>...</caching>` block is for server-side caching, not client side caching.

Problem

I cannot get the image files to cache. I have tried everything that I have found on this site and others and still cannot get them to cache. Web config setting that I have tried ``` <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> </staticContent> <httpProtocol allowKeepAlive="true" /> <caching enabled="true" enableKernelCache="true"> <profiles> <add extension=".png" policy="CacheUntilChange" /> <add extension=".jpg" policy="CacheForTimePeriod" duration="12:00:00" /> </profiles> </caching> ``` Here is the response headers for 1 of the images ``` Key Value Response HTTP/1.1 200 OK Cache-Control no-cache Content-Type image/png Last-Modified Thu, 16 Dec 2004 18:33:28 GMT Accept-Ranges bytes ETag "a1ca4bc9de3c41:0" Server Microsoft-IIS/7.5 X-Powered-By ASP.NET Date Fri, 18 May 2012 13:21:21 GMT Content-Length 775 ```

Original source