一次我们网站的web性能优化
1.Google的Web优化最佳实践
利用 PageSpeed工具 对我们红酒世界网进行检测时,发现了下面的几个问题
1.1.通过web.config设置静态文件缓存
<system.webServer>
<staticContent>
<clientCache
cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00"
/>
</staticContent>
</system.webServer>
这里设置了1天的静态文件缓存。
1.2.利用代码处理动态文件缓存
在需要进行动态文件缓存的时候调用,也可以写在basepage下, 关于http客户端缓存可以参考:http://www.cnblogs.com/luminji/archive/2011/09/14/2174751.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 |
private
void SetBuffer() { if
(HttpContext.Current != null ) { var
modifiedTime = DateTime.MinValue; if
(Request.Headers[ "If-Modified-Since" ] != null
&& DateTime.TryParse(Request.Headers[ "If-Modified-Since" ], out
modifiedTime)) { if
(TimeSpan.FromTicks(DateTime.Now.Ticks - modifiedTime.Ticks).TotalSeconds < secondsTime) { Response.ClearContent(); Response.StatusCode = ( int )System.Net.HttpStatusCode.NotModified; Response.SuppressContent = true ; return ; } } else { //设置客户端缓存状态 SetClientCaching(Response, DateTime.Now); } } } /// 设置客户端缓存状态 /// </summary> /// <param name="response"></param> /// <param name="lastModified"></param> private
void SetClientCaching(HttpResponse response, DateTime lastModified) { response.Cache.SetETag(lastModified.Ticks.ToString()); response.Cache.SetLastModified(lastModified); //public 以指定响应能由客户端和共享(代理)缓存进行缓存。 response.Cache.SetCacheability(HttpCacheability.Public); //是允许文档在被视为陈旧之前存在的最长绝对时间。 response.Cache.SetMaxAge( new
TimeSpan(0, 0, 0, 30)); //将缓存过期从绝对时间设置为可调时间 response.Cache.SetSlidingExpiration( true ); } |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。