0
我在IIS Express中運行的小型ASP.NET Web項目上運行YSlow性能測試。我留下了兩個我認爲需要優化的項目。ASP.NET和YSlow優化
1.添加Expires頭
我需要設置到期日期我的favicon.ico。我怎樣才能做到這一點?
2.催芽緩存
當我在統計看標籤,我發現我的HTML不被緩存。如何緩存HTML,所以6,7K不會第二次下載?爲什麼我的圖標在已準備好的緩存中被請求?
我在IIS Express中運行的小型ASP.NET Web項目上運行YSlow性能測試。我留下了兩個我認爲需要優化的項目。ASP.NET和YSlow優化
1.添加Expires頭
我需要設置到期日期我的favicon.ico。我怎樣才能做到這一點?
2.催芽緩存
當我在統計看標籤,我發現我的HTML不被緩存。如何緩存HTML,所以6,7K不會第二次下載?爲什麼我的圖標在已準備好的緩存中被請求?
圖標:
添加到您的web.config文件:
<configuration> <location path="favicon.ico"> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" /> </staticContent> </system.webServer> </location> </configuration>
的Html緩存:
瀏覽器根據服務器響應的響應標頭緩存頁面。 如果頁面內容在給定時間段內不會改變,並且用戶將在給定時間段內重新訪問此頁面,則只應請求瀏覽器緩存頁面。
您的一套使用類似的緩存頭:
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetMaxAge(new TimeSpan(1, 0, 0));
我建議你看一看的W3C http cache specifications有關瀏覽器緩存一個完整的概述。
另外,如果你使用緩存,一些瀏覽器會詢問你的服務器,如果該文件自上次他們得到修改他們(「If-Modified-Since" header)。如果文件沒有改變,你可以用304 status code迴應。