ASP.NET和YSlow优化

时间:2013-05-19 19:51:35

标签: asp.net iis iis-express

我正在运行IIS Express的小型ASP.NET Web项目上运行YSlow性能测试。我留下了两件我认为需要优化的项目。

1。添加过期标题

我需要在我的favicon.ico上设置过期日期。我怎么能这样做?

enter image description here

2。引导缓存

当我查看 statistics 标签时,我注意到我的HTML没有被缓存。如何缓存HTML,以便第二次不下载6,7K?为什么我的favicon在准备好的缓存中需要?

enter image description here

1 个答案:

答案 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