减少HTTP请求

性能黄金法则

  • 只有10~20%的最终用户响应时间花在接受请求的HTML文档上,剩下的80~90%时间花在HTML文档所引用的所有组件(图片、script、css、flash等等)进行的HTTP请求上

如何改善

  • 最简单的途径就是减少组件数量,并由此减少HTTP请求的数量

HTTP连接产生的开销

  • 域名解析–TCP连接–发送请求–等待–下载资源–解析时间

打破谣言

  • 查找DNS缓存也需要时间,多个缓存就要查找多次有可能缓存会被清除
  • HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须依次逐个发送,前面的一个请求完成才能开始下个请求

减少HTTP请求的方式

  • 图片地图:图片地图允许你在一个图片上关联多个URL,目标URL的选择取决于用户单击了图片上的哪个位置,使用雪碧图(多张图片合成一张图片,background-position属性定位)
  • 合并脚本和样式表:使用外部的js和css文件引用的方式,因为这要比写在页面中的性能要更好一点,独立的一个js比用多个js文件组成的页面载入要快38%。把多个脚本合并为一个脚本,把多个样式表合并为一个样式表
  • 图片使用Base64编码减少页面请求数