data URL

语义图片用base64文本格式放在url中,与HTML形成一个整体。在解析HTML时,浏览器会直接将文本转化为图片。
关键点应用场景和雪碧图差不多,用在小图标不会频繁更改的场景。

base64

使用64个文本字符,来对二进制数据(图片)进行重新编码。
关键点当你将图片数据直接放入HTML文本文件中时,因为html解析是按照文本格式解析,在传输过程中可能会忽略换行符,导致图片数据出错。因此将图片数据转码为base64传输,毕竟base64编码的字符都是可见字符。

优点

  • 为了减少http请求次数。
  • 当访问外部资源很麻烦或受限时。

    缺点

  • Data URL形式的图片会比二进制格式的图片体积大1/3。对于体积比较大的图片不适合Data URL。

  • Data URL形式的图片浏览器不会缓存。但是CSS文件会缓存,包括CSS中的背景图片。
  • 消耗更多的CPU资源。
  • 浏览器解析URL长度是有限制的,所以要限制文件的长度。