在IIS 7.5,我設置了cacheControlMaxAge爲一個像今年這樣IIS7 cacheControlMaxAge屬性不工作
<location path="Content/Images">
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
</location>
按照本指南:Setting Expires and Cache-Control: max-age headers for static resources in ASP.NET
然而,谷歌的PageSpeed工具仍然說,文件沒有被緩存:
The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources:
* https://local.example.com/Content/Images/image1.png (expiration not specified)
(etc)
爲什麼說「過期未指定」?
整個webapp通過https服務,這是一個因素嗎?
你檢查過image1.png的http頭文件嗎?您可以在網絡選項卡下的瀏覽器開發工具(Chrome/FF/IE中的F12)中執行此操作。或者你可以使用提琴手。如果最大年齡已設置,所有現代瀏覽器都會通過https緩存項目。 –
http頭文件說'Cache-Control:public',但沒有提到過期,將調用過期頭文件是什麼? –
解決:將緩存屬性添加到'location path =「Content」'而不是'location path =「Content/Images」'解決了問題。 –