美文网首页
第1章:减少HTTP请求

第1章:减少HTTP请求

作者: 转身丶即天涯 | 来源:发表于2017-11-24 04:18 被阅读9次

绪论A中介绍了性能黄金法则,法则揭示了只有10%20%的时间花费在接受HTML文档上,剩下的80%90%都花费在所有组件的HTTP请求上(CSS,JS,图片,Flash等)。因此改善响应时间,最简单的途径就是减少组件的数量,并由此减少HTTP请求的数量。

从页面移除组件势必会引起产品和开发的矛盾,为了既满足产品需求,又使开发者提高网站的访问效率,本章提供了如下技术:

  • 图片地图
  • CSS Sprites
  • 内联图片和脚本
  • 样式表的合并

图片地图(Image Map)

超链接一般带有一些文本,比如<a>标签那样,并被关联到目标URL上,一种更为美观的做法是,将超链接关联到图片上,使用图片地图方式可以减少HTTP请求,而且无需改变页面外观。
图片地图允许你在一个图片上关联多个URL,目标URL取决于用户点击了图片上的哪个位置。

书上给了一个例子,我截了个图:


image.png

CSS Sprites

CSS Sprites同样可以合并图片,但是更为灵活。CSS Sprites就是将多个图片合并到一张单独的图片中。


image.png

看完了突然想起了QQ、微信的表情,还有富文本编辑器是不是也这么做的呢?
任何支持背景图片的HTML元素都可以使用CSS Sprites,比如div,span。
使用它们的background-position属性将HTML元素放到期望的位置上。
例如这样:


image.png
image.png
image.png

background-position属性指定了CSS Sprites的偏移量。

图片地图和CSS Sprites看起来非常类似,但是图片地图中的图片必须是连续的,CSS Sprites则没有这个限制。
它们都有一个优点就是通过合并图片减少HTTP请求,CSS Sprites还降低了下载量。
实际上,合并后的图片比分离的图片的总和要小,因为它降低了图片的开销(颜色表,格式信息等等)

所以,当页面中为背景,按钮,导航栏,链接等提供大量图片时,可以优先考虑CSS Sprites。

内联图片(Inline Image)

通过data:URL模式可以在Web页面中包含图片,而且无需任何额外的HTTP请求。
要注意IE7以下不支持这个属性,所以无法应用于IE7以下的IE浏览器。
data:URL模式的官方描述是,“允许将小块数据内联为‘立即数’”,数据就在URL中。
语法是这样的,以<img>标签为例。[;base64]为可选数据。
<img src="data:图片路径[; base64], 数据内容">

data:一般都用于内联图片,但它可以用在任何需要制定URL的地方,包括<scripts>和<a>标签。

当然,内联图片也是受限制的,IE7及以下版本不支持,而且在数据大小上也有限制,一般不能超过100kb。base64编码会增加图片的大小,因此整体下载量会增加。

合并脚本和样式表

尽量把多个js文件和css文件合并起来,因为每个文件都需要使用http请求,而为了加快响应速度,必须减少HTTP数量,这是核心思想。

相关文章

  • 前端页面优化

    1.使用代码构建工具,减少http请求的次数以及减少http请求的大小。减少http请求大小还包括减少cookie...

  • 减少http请求

    相关概念 1、为什么要减少http请求性能黄金法则 组件花费时间占八九成 2、减少http请求的方式减少组件的数量...

  • 前端性能优化

    一、减少http请求 每次请求资源都需要耗时,减少http请求,减少加载时间 合并图片,css sprites 懒...

  • 前端优化技巧

    (一)减少http请求次数或者减少请求内容的大小 每发送一次http请求,都需要完成请求+响应这个完整的http事...

  • 第1章:减少HTTP请求

    绪论A中介绍了性能黄金法则,法则揭示了只有10%20%的时间花费在接受HTML文档上,剩下的80%90%都花费在所...

  • 前端性能优化常用方法

    减少 HTTP 请求次数和请求大小:1、尽量合并 CSS 和 JS 文件,减少 HTTP 请求次数,把合并的代码压...

  • 前端性能优化的方法

    网络请求 减少HTTP资源请求次数(合并接口) 减小HTTP请求大小 避免页面中空的href和src 减少页面重定...

  • 如何减少http请求

    老板说网站打开太卡了,想办法吧 减少http请求吧?减少了真的有用吗? 减少http请求是为了网站性能的优化,请求...

  • Web性能优化总结

    减少HTTP请求 页面内部优化; 启用缓存; 减少下载量 网络连接上的优化 减少HTTP请求: CSS Sprit...

  • web前端开发,如何提高页面性能优化?

    内容方面: 减少 HTTP 请求 (Make Fewer HTTP Requests) 减少 DOM 元素数量 (...

网友评论

      本文标题:第1章:减少HTTP请求

      本文链接:https://www.haomeiwen.com/subject/ayttbxtx.html