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回应。