|
只有10%–20%的最终用户时间花在了下载HTML文档上,其余的80%~90%的时间花在了下
载页面中的所有组件上。
关注前端可以很好的提高整体性能
改进前段通常只需要较少的时间和资源
规则1 减少HTTP请求
由于上面的”性能黄金法则”,我们必须减少用户下载html文档的时间,最基本的一个
方法是必须减少http请求,包括image,css和js文件。
规则2 使用CDN
什么是CDN?
一组分布在多个不同地理位置的Web服务器用于更有效的向用户发布内容。
如果应用程序的web服务器离用户更近,则1个http请求的响应时间将缩短;如果组件web
服务器离用户更近,则多个http请求的响应时间将缩短。
同时,我们需要关注CDN Cache.例如修改了某个js文件,需要及时清除CDN Cache,甚至
会出现不同步的情况。
规则3 添加Expires头
Expires: Thu, 15 Apr 2010 20:00:00 GMT
Cache-Control: max-age=0
Expires的局限:需要服务器和客户端的时钟严格同步,所以我们可以使用cache-
control来控制。
@import 规则必须放在所有其他规则之前,而且会导致组件下载的无序性
规则5 将样式表放在顶部
这个规则其实并不影响性能,但是却关乎用户的体验。CDN加速
如果样式表放在顶部,那么在下列三种情况下,浏览器会出现白屏
1、在新窗口中打开
2、重新加载
3、作为主页
@import 规则必须放在所有其他规则之前,而且会导致组件下载的无序性。
规则6 将脚本放在底部
规则7 避免CSS表达式
规则8 使用外部的Javascript和CSS
页面中尽量使用外部的js和css文件,虽然会带来额外的http请求访问时间,但是因为
缓存机制会节省后期访问时http的请求。
特殊情况:主页。在主页中尽量将js和css写在页面中,这样会节省主页的访问时间。
两全其美的方式CDN服务
1、加载后下载
在主页加载外币之后,动态加载js和css文件。例如我们的loadJs和loadCss方法。
2、动态内联
可以使用例如cookie的方法,如果js加载过,则写入cookie一个值;动态检测cookie的
值,如果不存在则加载,如果存在则跳出加载过程。
规则9 减少DNS查找
DNS查找可以被缓存起来以提高性能,通过Keep-Alive和较少的域名来减少DNS查找。
规则10 精简Javascript
精简:从代码中移除不必要的字符以减少其大小,进而改善加载时间。移除所有的注释
和不必要的空白字符
混淆:除了精简,还将函数和变量的名字转换为更短的字符串。
规则11 避免重定向
在下列几种情况下可能会发生
1. 缺少结尾的斜线
2. 连接网站
3. 跟踪内部流量
4. 跟踪出站流量
5. 美化URL
规则12 移除重复的脚本
规则13 配置Etag(Entity Tag)
规则14 使Ajax可缓存
被动请求(Passive Request)
主动请求(Acitve Request)
活动一:活动期间,全场云主机年付享受8.8折优惠(特价除外)
活动二:活动期间,全场云主机季付返款5%,半年付返款10%,年付返款18%
活动时间:2012.11.5——2012.11.25
备注:以上活动可选择一项参与不可同时参与
我的联系方式是:0551-4279183 QQ是:613039909
|
|