web-dev-qa-db-ja.com

IIS 7.5および画像がキャッシュされていない

画像ファイルをキャッシュに入れることができません。私はこのサイトや他のサイトで見つけたすべてを試しましたが、それでもキャッシュに入れることができません。

私が試したウェブ構成設定

    <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>  

これは、1つの画像の応答ヘッダーです

    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
19
user1167466

次の場合、ブラウザは画像をキャッシュします。

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

<caching>...</caching>ブロックはサーバー側のキャッシュ用であり、クライアント側のキャッシュ用ではありません。

33

誰かがあなたのサイトをChrome監査またはGTMetrixとして構成する必要がある場合は、環境を次のように構成する必要があります(Marcoの answer に感謝します)。

<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />

365日を使用すると、両方のツールがその値をキャッシュ時間として許容できると見なしました。

0