【问题标题】:ASP.NET and YSlow optimizationASP.NET 和 YSlow 优化
【发布时间】:2013-05-19 19:51:35
【问题描述】:

我正在对在 IIS Express 中运行的小型 ASP.NET Web 项目进行 YSlow 性能测试。我剩下两个我认为需要优化的项目。

1.添加过期标头

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

2。 Primed 缓存

当我查看 statistics 选项卡时,我注意到我的 HTML 没有被缓存。我怎样才能缓存 HTML,这样 6,7K 就不会第二次下载了?为什么我的 favicon 需要在已准备好的缓存中?

【问题讨论】:

    标签: asp.net iis iis-express


    【解决方案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”)。如果文件未更改,您可以回复 @987654323 @。

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 1970-01-01
      • 2018-08-12
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多