雅虎网站页面性能优化的34 条黄金守则

雅虎网站页面性能优化的34 条黄金守则

雅虎团队经验:网站页面性能优化的34 条黄金守则

1 、尽量减少HTTP 请求次数

2 、减少DNS 查找次数 
域名系统(DNS )提供了域名和IP 的对应关系,就像电话本中人名和他们的电话号码的关系一样。当你在浏览器地址栏中输入www.rjboy.cn 时,DNS 解析服务器就会返回这个域名对应的IP 地址。DNS 解析的过程同样也是需要时间的。一般情况下返回给定域名对应的IP 地址会花费20120 毫秒的时间。而且在这个过程中浏览器什么都不会做直到DNS 查找完毕。

3 、避免跳转 
要记住跳转会降低用户体验。在用户和HTML 文档中间增加一个跳转,会拖延页面中所有元素的显示,因为在HTML 文件被加载前任何文件(图像、Flash 等)都不会被下载。

4 、可缓存的AJAX

5 、推迟加载内容 
你可以仔细看一下你的网页,问问自己 哪些内容是页面呈现时所必需首先加载的?哪些内容和结构可以稍后再加载?
把整个过程按照onload 事件分隔成两部分,JavaScript 是一个理想的选择。例如,如果你有用于实现拖放和动画的JavaScript ,那么它 就以等待稍后加载,因为页面上的拖放元素是在初始化呈现之后才发生的。其它的例如隐藏部分的内容(用户操作之后才显现的内容)和处于折叠部分的图像也可以 推迟加载。

6 、预加载 
预加载和后加载看起来似乎恰恰相反,但实际上预加载是为了实现另外一种目标。预加载是在浏览器空闲时请求将来可能会用到的页面内容(如图像、样式表和脚本)。使用这种方法,当用户要访问下一个页面时,页面中的内容大部分已经加载到缓存中了,因此可以大大改善访问速度。

7 、减少DOM 元素数量 
一个复杂的页面意味着需要下载更多数据,同时也意味着JavaScript 遍历DOM 的效率越慢。比如当你增加一个事件句柄时在500 和5000 个DOM 元素中循环效果肯定是不一样的。

8 、根据域名划分页面内容 
把页面内容划分成若干部分可以使你最大限度地实现平行下载。由于DNS 查找带来的影响你首先要确保你使用的域名数量在2 个到4 个之间。例如,你可以把用到的HTML 内容和动态内容放在www.example.org 上,而把页面各种组件(图片、脚本、CSS) 分别存放在statics1.example.org 和statics.example.org 上。

9 、使iframe 的数量最小