2013-05-19 90 views
0

我在IIS Express中運行的小型ASP.NET Web項目上運行YSlow性能測試。我留下了兩個我認爲需要優化的項目。ASP.NET和YSlow優化

1.添加Expires頭

我需要設置到期日期我的favicon.ico。我怎樣才能做到這一點?

enter image description here

2.催芽緩存

當我在統計看標籤,我發現我的HTML不被緩存。如何緩存HTML,所以6,7K不會第二次下載?爲什麼我的圖標在已準備好的緩存中被請求?

enter image description here

回答

1

圖標

添加到您的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迴應。