为什么谷歌要将图像的src属性使用base64编码数据?

5

我一直以来都将图片保存在服务器上作为文件:

  • 原图
  • 缩略图
  • 带有水印的原始图片

...所有这些都是以文件夹的形式保存。

但今天,当我查看谷歌图片时,图片的src是以base64编码的哈希值。谷歌以这种方式提供图片有什么好处?为什么要这样做而不是传统地提供图片呢?

1个回答

8
谷歌非常注重延迟时间;如果您的浏览器需要为页面上的每个图像向Web服务器发出单独的请求,则页面加载的延迟时间会增加。您可以通过在生成页面时将图像数据直接写入页面来消除此延迟。实际上,我现在看到很多图片较多的网站,特别是博客,都在使用这种技术。

仅因为图像包含在页面中并不一定意味着它们不是作为文件存储在Web服务器上 - 只是生成页面的Web服务器进程已经打开并读取了图像文件,然后将其数据写入了页面。谷歌可能正在将图像存储在其专有和保密的数据存储中,但您不必这样做。


是的,我明白,在文件查询中大部分时间都花在传输数据之前的步骤上(确认标头等等...),因此如果您提供直接的base64编码源代码,对用户来说会更好。但是这个理论存在问题:您需要提供更多的源代码(这需要更多的带宽),您需要打开文件并读取并将每个图像转换为base64编码,这需要时间,并且每次加载页面都要这样做。我认为最好的方法是将base64编码保存在数据库中,但这需要更多的数据库存储空间...什么是最好的方法? - Ils Labs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接