使用base64编码图像的优点和缺点

时间:2012-07-31 08:36:27

标签: html image base64

我正在考虑为我正在使用的网站使用base64编码图像来优化加载时间。

无论如何,在我开始之前,我想知道:这样做的优点和缺点是什么?

目前,我没有看到任何不利因素,但我也注意到这不是经常使用的技术,这让我想知道我是不是错过了什么。

在谷歌主题后我没有找到任何清楚的东西所以我决定在这里问。

4 个答案:

答案 0 :(得分:41)

它仅对非常小的图像有用。 Base64编码的文件比原始文件大。优点在于不必打开另一个连接并向服务器发出HTTP请求以获取图像。这种好处很快就会消失,因此对于大量非常小的单个图像来说只有一个优势。

答案 1 :(得分:12)

  

符合MIME的Base64编码二进制数据的实际长度是   通常约为原始数据长度的137%,但非常短   消息由于开销的原因,开销可能会高得多   头。非常粗略地说,Base64编码的二进制数据的最终大小是   等于原始数据大小的1.37倍+ 814字节(用于标题)。

     

换句话说,解码数据的大小可以用这个公式近似:

bytes = (string_length(encoded_string) - 814) / 1.37

来源:http://en.wikipedia.org/wiki/Base64#MIME

答案 2 :(得分:4)

本文中How much faster is it to use inline/base64 images for a web site than just linking to the hard file?

已经提到了以下一些缺点
  • 如果经常查看图像,大多数形式的缓存都会受到打击,这可能会造成很大的伤害 - 例如,每个页面上都会显示一个徽标,通常可以通过浏览器进行缓存。
  • 更多CPU使用率。

答案 3 :(得分:3)

HTML页面的响应时间也会增加,因为图像在正常情况下加载asyn。即使图像加载较晚,您也可以开始看到文字。

如果只在CDN中缓存媒体,CDN的另一个优势就会丢失

这种优势将会丧失。