Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

BASE64 + GZIP 与 Binary 的加载成本对比

  先前的「合并请求的缓存问题」中提到了缩略图的压缩加载方案。但考虑到 BASE64 本身会让资源体积增加 1/3,如果直接使用的话可能会造成资源的加载成本变高。所以在真正使用这个方案前还是先做一个测试,看看到底 BASE64 + GZIP 能否替代 Binary。
  我找了一张 标准测试图片 来测试这个问题。GZIP 使用 Nginx 自带的,BASE64 使用 PHP 的内置函数。 echo base64_encode(file_get_contents('lena_std.png'));   测试结果是这样的

  原图本来是 462KB 的,直接 Binary + GZIP 后变成了 643KB(压缩后反而变大了,这也是为什么通常不对 Binary 开启 GZIP 的原因)。而 BASE64 的版本原大小确实比原图多了 1/3,但经过 GZIP 后变成了 476KB,也就是体积增加了大概 3%?这个数值是可以接受的范围吧?
  最后我的结论是:以 BASE64 + GZIP 的方案实现缩略图合并是可行的。但如果只是想以 BASE64 的方式加载,没有其他优化方案,那 3% 的体积还是有点舍不得的。
网名:
3.80.32.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^