主要专注其中加载部分的优化,总结起来主要有以下几点:
带宽
HTTP优化
减少转向
减少请求数
缓存
使用GET
DNS优化
减少域名解析时间
增多域名提高并发
JavaScript
放页面底部
放页面头部
避免@import
其它
预加载
带宽
使用CDN
CDN的全称是Content Delivery Network,即内容分发网络
HTTP优化
减少转向
减少请求数
缓存
尽早Flush
flush()是清空
使用gzip
gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序
使用GET
DNS优化
减少域名解析时间
增多域名提高并发
JavaScript
放页面底部
defer/async
对于html的script标签,如果是外链的情况,如:
浏览器对它的处理主要有2部分:下载和执行
下载在有些浏览器中是并行的,有些浏览器中是串行的,如IE8、Firefox3、Chrome2都是串行下载的
执行在所有浏览器中默认都是阻塞的,当js在执行时不会进行html解析等其它操作,所以页面顶部的js不宜过大,因为那样将导致页面长时间空白,对于这些外链js,有2个属性可以减少它们对页面加载的影响,分别是:
async
标识js是否异步执行,当有这个属性时则不阻塞当前页面的加载,并在js下载完后立刻执行
不能保证多个script标签的执行顺序
defer
标示js是否延迟执行,当有这个属性时js的执行会推迟到页面解析完成之后
可以保证多个script标签的执行顺序
放页面头部
避免@import
其它
预加载