高性能网站建设指南(一)减少HTTP请求
in Blog
根据性能黄金法则,改善响应时间的最简单的途径就是减少组件的数量,并由此减少HTTP请求的数量。
图片地图(Image Maps)
图片地图有两种类型:服务器端图片地图(Server-side image maps)和客户端图片地图(Client-side image maps)。
服务器端图片地图将所有点击提交到同一个目标URL,想起传递用户点击的x、y坐标。Web应用程序将该x、y坐标映射为适合的操作。
客户端图片地图更加典型,因为它可以将用户的点击映射到一个操作,而无需向后端应用程序发送请求。映射通过HTML的MAP标签实现。
CSS Sprites
CSS Sprites 也可以合并图片,但更为灵活。图片地图中的图片必须是连续的,而CSS Sprites没有这个限制。
内联图片(Inline Images)
通过使用data:URL模式可以在Web页面中包含图片但无需任何额外的HTTP请求(Internet Explorer目前不支持)。
data:URL模式的主要缺陷是不受IE的支持,另一个缺陷是可能存在数据大小的限制。Base64编码会增加图片的大小,因此整体下载量会增加。
由于data:URL是内联在页面中的,在跨越不同页面时不会被缓存。
合并脚本和样式表(Combined Scripts and Stylesheets)
对JavaScript和CSS进行“内联”(也就是将其嵌在HTML文档中)还是将其放在外部的脚本和样式表文件中。一般来说,使用外部脚本和样式表对性能更加有利。如果采用模块化的原则将代码分开放在多个小文件中,会降低性能,因为每个文件都会导致一个额外的HTTP请求。而合并脚本和样式表都可以带来性能改进。