优化网页性能方法汇总

时间:2021-11-09 21:13:41

1、减少HTTP请求次数

点击查看

2、减少DNS查找次数

  • 可利用DNS缓存
  • 权衡CDNDNS查询,利用CDN可减少向服务器发送的cookie数量,却会增加DNS查询负荷,小型网站应该减少DNS查询时间,而像天猫之类的大型网站,因为登录次数较多一般都会有DNS缓存,因此使用CDN较好。
  • 减少CDN即减少网站的查询主机数量,要在并行加载数量和查询的CDN数量之间权衡,一般资源并行加载数量在6个左右,将一个主机的DNS查询数量减少到1或者2明显不是最优选择。

3、懒加载

如先加载首页的图片资源,再监听onscroll事件,当首屏图片即将离开视线时再加载其他图片。

4、预加载

预加载是在浏览器空闲时请求将来可能会用到的页面内容(如图像、样式表和脚本)。使用这种方法,当用户要访问下一个页面时,页面中的内容大部分已经加载到缓存中了,因此可以大大改善访问速度。

5、按需加载

即模块化开发,只需加载用到的资源。

5、语义化开发

  • 合理恰当的使用标签,让页面内容结构化
  • 在没有css时也能阅读,搜索引擎的爬虫根据标记确定关键词的权重看,有利于SEO
  • 容易阅读和维护

6、使iframe的数量最小

iframe会阻止页面加载,可在JavaScript中动态插入标签。
没有语意

7、合理使用缓存Expires或Cache-Control

对于静态内容:设置超长的过期时间
对于动态内容:合理使用lastmodified和Etag。

8、把样式表置于顶部

即DOM树加载的同时页面结构也渲染出来了。

9、避免使用CSS表达式(Expression)

表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。

10、用link标签代替@import

@import会阻止页面并行加载且存在兼容性问题。

11、把脚本置于页面底部

使用延迟脚本。Deferred,Async属性

12、减少DOM访问

使用JavaScript访问DOM元素比较慢
- 缓存已经访问过的有关元素
- 避免重绘和回流
- 事件代理
- 函数节流
- 递归缓存

13、减小Cookie体积

coockie是通过HTTP文件头来在web服务器和浏览器之间进行交流的

  • 创建一个子域名并用他来存放所有静态内容。
  • CDN