2011-09-28 85 views
5

在我生命中所有的时间,我在我的服务器上的图像保存为文件:为什么Google使用base64编码数据作为图像src属性?

  • 原件
  • 缩略图
  • 原来有水印

...所有的文件文件夹。

但今天,我正在查看谷歌图片,而图片的src是一个base64编码哈希。 Google以这种方式从服务图像中获得什么好处?为什么有人会这样做,而不是仅仅按照惯例提供图像?

回答

7

谷歌有点痴迷延迟;如果您的浏览器必须前往页面上的每个图像向Web服务器发出单独请求,则页面加载的延迟时间会延长。您可以通过在生成页面时将图像的数据写入页面来消除此延迟。实际上,我现在看到很多形象很重的网站,尤其是博客,使用这种技术。

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

+0

是的,我承认,在查询文件的最多时间是在传输数据(确认标题和这样的事情......)的前几个步骤,所以如果你给直接base64encode源将更好的用户。但是这个理论中存在一些问题:您需要提供更多的源(其带宽更多),您需要打开文件并读取并转换为base64编码每个图像,这需要时间,并在每次加载页面时进行此操作。我认为最好的办法是将base64encode保存在数据库中,但是这需要更多的数据库存储空间... 什么是最好的方法? –

+0

大文件>很多HTTP请求 –

相关问题