总览
本书介绍了提高网站性能的14条规则:
- 减少HTTP请求
- 使用内容发布网络
- 添加Expires头
- 压缩组件
- 将样式表放在顶部
- 将脚本放在底部展示
- 避免CSS表达式
- 使用外部JavaScript和CSS
- 减少DNS查找
- 精简JavaScript
- 避免重定向
- 移除重复脚本
- 配置ETag
- 使Ajax可缓存
本书配套实例:点此访问
规则5-将脚本放在底部展示
提高用户体验
脚本带来的问题
脚本也会为上节讲到的可视化带来问题,因为使用脚本时,所有位于脚本以下的内容,逐步呈现都被阻塞了。所以将脚本放在越靠下的位置,意味着可以逐步呈现越多的内容。
- 脚本会阻塞对其后面内容的呈现
- 脚本会阻塞对其后面组件的下载
并行下载
HTTP1.1规范:建议浏览器从每个主机名并行的下载两个组件。
根据HTTP1.1的规范,如果把资源从一个主机名下平均的移到两个主机名下,响应时间可以减少大约一半。
HTTP1.1的规范对浏览器只是一个建议,用户可以根据浏览器提供的配置操作来调整这一默认配置。但这种配置依赖于用户的浏览器,不能从服务器端主动触发。
使用多个主机名的话受限于带宽和CPU速度,过多的并行下载反而会降低性能。根据作者推荐,2个主机名比使用其它个数更能带来更好的性能。
在下载脚本(注:图片等其它资源是可以的)时并行下载实际上是被禁用的,即使使用了不同的主机名,浏览器也不会启动其它的下载。主要是为了保证脚本能够按照正确的顺序执行,因为脚本间可能存在着依赖关系。
最佳实践
将脚本移到页面底部,</body>标签前。