我在我的基於IIS 6的網站上的文件夾中有一些靜態圖像,我想盡可能少地下載(以保留帶寬)。我已將內容過期設置爲30天后過期。在IIS中我還有什麼可以嘗試通過瀏覽器,代理和網關緩存最大化緩存?如何在IIS中設置靜態文件的可用性?
如添加一個Cache-Control頭?還要別的嗎?
我在我的基於IIS 6的網站上的文件夾中有一些靜態圖像,我想盡可能少地下載(以保留帶寬)。我已將內容過期設置爲30天后過期。在IIS中我還有什麼可以嘗試通過瀏覽器,代理和網關緩存最大化緩存?如何在IIS中設置靜態文件的可用性?
如添加一個Cache-Control頭?還要別的嗎?
http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx
這是一篇博客文章涵蓋以下內容:
這是我對這個問題的回答:"Expires" in http header for static content? how-to
@ECHO OFF
REM ---------------------------------------------------------------------------
REM Caching - sets the caching on static files in a web site
REM syntax
REM Caching.CMD 1 d:\sites\MySite\WWWRoot\*.CSS
REM
REM %1 is the WebSite ID
REM %2 is the path & Wildcard - for example, d:\sites\MySite\WWWRoot\*.CSS
REM _adsutil is the path to ADSUtil.VBS
REM ---------------------------------------------------------------------------
SETLOCAL
REM *******
REM SET THIS TO POINT TO adsutil.vbs - TYPICALLY c:\inetpub\adminscripts\adsutil.vbs
REM *******
SET _adsutil=D:\Apps\Scripts\adsutil.vbs
FOR %%i IN (%2) DO (
ECHO Setting Caching on %%~ni%%~xi
CSCRIPT %_adsutil% CREATE W3SVC/%1/root/%%~ni%%~xi "IIsWebFile"
CSCRIPT %_adsutil% SET W3SVC/%1/root/%%~ni%%~xi/HttpExpires "D, 0x69780"
ECHO.
)
這對於一個Web根每個CSS文件到5天設置緩存值,然後像這樣運行它:痛苦
Caching.CMD 1 \site\wwwroot\*.css
Caching.CMD 1 \site\wwwroot\*.js
Caching.CMD 1 \site\wwwroot\*.html
Caching.CMD 1 \site\wwwroot\*.htm
Caching.CMD 1 \site\wwwroot\*.gif
Caching.CMD 1 \site\wwwroot\*.jpg
類,但可行的。
BTW - 以獲取HttpExpires值,設定在GUI中的值,然後運行
AdsUtil.vbs ENUM W3SVC/1/root/File.txt
得到你需要
回答得好的實際價值,但我想我應該指定IIS6 – TAG 2008-11-13 16:52:08