【问题标题】:What advantages are there for Google to send images as Base64 rather than e.g. jpg谷歌将图像作为 Base64 发送而不是例如发送图像有什么优势? jpg
【发布时间】:2011-05-07 21:49:13
【问题描述】:

我注意到 Google 的新页面预览使用 base64 获取图像,而不是简单的,例如jpg或png的

这样做有什么好处?

base64 编码的图像在传输过程中能否更好地压缩?

或者也许被浏览器或缓存代理更好地缓存?

这样他们就可以执行一个 HTTP 请求并一键接收图像和有关图像的信息吗?

还有其他想法吗?

[编辑]

我刚刚有个想法,也许是为了让 google 可以使用他们的新图像格式

http://code.google.com/speed/webp/ 没有浏览器的支持?

但是查看返回的字符串(使用 fiddler 拦截 http 流量),该字符串提到“image/jpeg”。除非有些图片是以 webp 格式返回的。

【问题讨论】:

  • 你指的是什么? “google”涵盖了广泛的罪恶。
  • 这是 google.com - 在结果页面中,单击页面标题旁边的小放大镜。我不确定是否每个人都会看到该功能(也许我是随机测试版的一部分)
  • Base64 只是以 7 位方式编码数据。它不是图像格式。基础数据仍然必须以某种方式编码 - 它仍然是 .jpg/.png 还是什么?
  • 没错,我猜它下面是 PNG/JPG - 和 base64 用于传输(可能使用数据 URI 方案)
  • 我不是这方面的专家,但据我所知,base64 通常不是用于压缩,而是用于与无法正确支持通常解决问题方法的系统兼容。我读到的一个例子是原始的电子邮件协议,它不支持除标准文本之外的任何内容——使用该协议嵌入图像意味着您必须将图像转换为原始文本; base64 是实现这一目标的常用方法。不过,不确定在这种情况下对它的实际需求是什么。

标签: image base64 webp


【解决方案1】:

图像是从服务器接收的数据 URL,作为带有一些元数据的 JSON(-ish) 包。我认为将图像数据和元数据打包到一个请求中在缓存和性能方面是值得的。

【讨论】:

  • 是的,我同意 - 将其减少到每个图像/数据一个 http 命中是有意义的。
【解决方案2】:

性能的黄金法则是减少与服务器的连接数。通过使用数据 URI(编码为 base 64 的图像数据),可以减少往返行程。此外,如果页面被 gzip 压缩,那么 base 64 数据仍然可以从压缩中受益。

http://developer.yahoo.com/performance/rules.html/

【讨论】:

    猜你喜欢
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2013-03-21
    • 2014-10-17
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    相关资源
    最近更新 更多