我正在运行IIS Express的小型ASP.NET Web项目上运行YSlow性能测试。我留下了两件我认为需要优化的项目。
1。添加过期标题
我需要在我的favicon.ico上设置过期日期。我怎么能这样做?
2。引导缓存
当我查看 statistics 标签时,我注意到我的HTML没有被缓存。如何缓存HTML,以便第二次不下载6,7K?为什么我的favicon在准备好的缓存中需要?
答案 0 :(得分: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