Iis-7
IIS 和靜態內容?
瀏覽器從伺服器檢索的文件應盡可能長時間地儲存在瀏覽器的記憶體中,以幫助最大程度地減少伺服器往返。
- 但是 IIS 怎麼知道什麼是靜態內容 ,什麼不是呢?
它只是 images , css , js而不是ASPX , ashx ……?
我在 IIS 中哪裡可以看到什麼已經被認為是靜態的,什麼不是?
<%@ OutputCache
那麼使用header(withoutlocation
)聲明頁面的 scneraio 呢?裡面的圖像、css、js src文件是否也被輸出記憶體了?- 作為最佳實踐,我應該將未來一年設置為最長到期時間。我應該將其用作網站上所有靜態內容的預設值
所以我這樣做了:
但是後來,在按下 之後
OK
,我找不到任何 顯示我的摘要菜單:我已經向其 放置了響應標頭(在本例中為:css
文件夾)。目前,為了看到該文件夾已應用了 respose 標頭 - 我必須再次
css
轉到該css
文件夾Http Response Header Set Common Headers然後我看到它。它沒有寫在 web.config 中。-->``-->``-->
但是,如果我為文件(
Login.aspx
例如)執行此操作:我確實在 web.config 中看到了它:<configuration> <location path="Login.aspx"> <system.webServer> <staticContent> <clientCache cacheControlMode="UseExpires" cacheControlMaxAge="1.00:00:00" httpExpires="Fri, 15 Feb 2013 00:00:00 GMT" /> </staticContent> </system.webServer> </location> </configuration>
按 Windows+R 並粘貼:
notepad %systemroot%\System32\inetsrv\config\applicationHost.config
這將打開 IIS 的主配置文件:
您在 IIS UI 中所做的大多數未進入 web.config 的更改都保存在此處。
最後是一個“處理程序”節點,它定義瞭如何處理各種文件類型,所有未在路徑屬性中列出的副檔名都被視為靜態文件,並由最後一個條目處理:’name=“StaticFile”'
您對記憶體的更改將在“站點”或“位置”節點內進一步進行。
不要直接更改此文件,多虧了 UAC,您無論如何都無法更改。
如何選擇記憶體策略,取決於您的內容。你真的能確定某些資源在一年內不會改變嗎?
OutputCache 指令用於頁面本身,任何連結的內容都由客戶端獨立請求,因此您還必須為它們設置記憶體。