高性能网站建设——前端优化

主要参考《高性能网站建设指南》这本书

漫谈前端优化

参考文章:http://www.cnblogs.com/xuechenlei/p/5888060.html

1.引用资源部分优化:

  1. 合并引用的CSS、JavaScript,并使用压缩模式;
  2. 合并页面引用的小图标,也就是合成一张图片,引用背景图片定位,俗称雪碧图;
  3. 使用按需加载,scroll加载的处理方式;
  4. 服务器GZIP处理资源,这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来,一般对纯文本内容可压缩到原大小的40%。
  5. 异步加载资源,和document构建不相冲突,defer、async的设置;
  6. 减少http请求,全局使用,缓存一切可缓存的资源文件;
  7. 外联式引用资源,主要式为了页面缓存考虑;
  8. 资源文件放在同一个服务器,避免调用第三方资源。
  9. dns-prefetch,把这个放这里不知道合适不合适,这个应该算是http请求方面的优化,不知道什么是dns-prefetch是什么的自行谷歌之,俗名叫dns预获取,主要作用是减少请求次数和提前对dns预获取(废话),什么意思那,简单的说你的站点域名是x.com,而你网站上一些的图片等资源是放在img.x.com上,每次请求会涉及到dns解析问题,对于性能要求极致的站点这个处理就必不可少,在head中加入就能达到上述的效果,需要注意,虽然dns-prefetch能够加快网页解析速度,但是也不能随便滥用,因为多页面重复DNS预解析会增加重复DNS查询的次数;

2.CSS&JavaScript内容优化:

  1. CSS引用写在头部,JavaScript引用写在底部、使用异步加载,避免渲染等待;
  2. 避免在页面标签中写样式;
  3. 不过度引用字体,字体大小的问题;
  4. 值为0的时候不用单位;
  5. 使用标准的浏览器前缀,或者使用类似scss中的@include的写法,定义详细再引用;
  6. 不滥用页面浮动;
  7. 避免复杂dom 循环操作;
  8. id的工作效率比class高,但我个人不喜欢写很多id(dom多了不爽),看情况操作;
  9. 使用事件代理代替绑定事件;

3.DOM渲染优化:

  1. 使用简洁的html标签结构,避免复杂嵌套;
  2. 使用css3书写动画,减少jsdom操作;
  3. 适当使用svg、canvas;
  4. 避免最下级元素书写页面class

4.图片优化:

插一句,web图片优化应该是优化中的重头戏,内容型、展示型的站点图片规模很大,也许1%的优化作用就可以和其他的优化方式相媲美;

  1. 使用css、svg、fonticon代替图片;
  2. 压缩图片,重中之重,就图片本身格式而言,png8大于gif,常用png和jpg,而压缩方面有各种工具,比如gulp(个人多次实测压缩比率达20%左右,这个也可能和图片多少、格式有关系)、TinyPNG(熊猫站,性能比较高的,不便的是国外的,上传下载太麻烦了,使用它们给的开发者接口,个人实测跟gulp差不多,比不上网站上的压缩,所以意义不大,而且限制次数),其实一般站点的图片处理会有服务器上专门的配置服务做这些事情的,比如用户上传一张1MB的用户头像,服务器会处理成两张,一张小图供头像图标引用,一张原尺寸的,但体积都会小很多,供站点引用。
  3. 使用webp图片,不知道webp是啥的自行google之,是未来天网前身的美帝google公司,开创的一种图片格式,性能我只能说我服,不便的是不是所有浏览器都支持这种高科技…
  4. 避免使用DataUrl,也即俗称的base64引用,这种方式没有使用图片的压缩算法文件会变大,并且要解码后再渲染,加载慢耗时长。

高性能网站建设指南

1.减少HTTP请求

2.使用内容发布网络(CDN)

3.添加Expires头

4.压缩组件

5.将样式表放在顶部

6.将脚本放在底部

7.避免CSS表达式

8.使用外部JavaScript和CSS

9.减少DNS查找

10.精简JavaScript

11.避免重定向

12.删除重复脚本

13.配置ETag

14.使用Ajax可缓存

详情可以参考书籍《高性能网站建设指南》。

下面两个链接是这本书的笔记:

https://blog.csdn.net/an1090239782/article/details/78166983#图片地图

http://www.cnblogs.com/MarcoHan/p/5295398.html

《高性能网站建设指南》官方实例demo:http://stevesouders.com/examples/rules.php

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高性能网站建设指南 “如果实现了Steve这些建议中的20%,你的站点就能出现戏剧性的变化。有了这本书和YSlow扩展,实在是没有理由再构建出运行速度缓慢的网站了。”         ——Joe Hewitt,Firebu9调试器和Mozilla的DOM解释器的开发者   “Steve Souders完成了一项神奇的工作,他提出了一系列简明的、可操作的,并且注重实效的开发步骤,使Web性能世界发生了翻天覆地的改变。”         ——Eric Lawrence,微软Fiddler Web Debugger开发者   想让你的网站显示得更快?本书提供了14种规则,可以使用户在请求页面时减少20%~25%的响应时间。作为Chief Performance Yahoo!,作者Steve Souders收集了在优化网络时访问最多的页面积累下来的最佳实践。即使网站已经进行了高度的优化——如Yahoo!Search和Yahoo!首页——我们也能从这些出奇简单的性能规则中获益。   《高性能网站建设指南》一书介绍了如何针对网站中的Ajax、CSS、JavaScript、Flash和图片进行性能优化。每个性能规则都提供了示例,在本书的配套网站上可以找到代码片段。这些规则包括:   •减少HTTP请求     •使用外部JavaScript和CSS   •使用内容发布网络   •减少DNS查找   •添力Expires头     •精简JavaScript   •压缩组件       •避免重定向   •将样式表放在顶部 •移除重复脚本   •将脚本放在底部   •配置ETag   •避免CSS表达式   •使Ajax可缓存   如果你希望构建高流量页面,并且改善用户访问网站的体验,那么本书是你不可或缺之物。   Steve Souders,Chief Performance Yahoo!,为Yahoo!的其他产品团队开发了性能分析工具,并致力于推广这些最佳实践和工具。在加盟Yahoo!之前,Stevee曾就职于多家中小型公司,其中有两家还是他协办的——Helix Systems和CoolSync。他是斯坦福大学管理科学与工程硕士。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值