V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
cdffh
V2EX  ›  云计算

阿里云对图片用了 gzip. 感觉有待商榷

  •  
  •   cdffh · 2015-10-14 11:50:42 +08:00 · 5261 次点击
    这是一个创建于 3307 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们用了阿里云的 cdn 发现阿里云对图片做了 gzip
    我记得貌似 gzip 对图片是不适用的.
    难道阿里云对图片专门做了试用图片的 gzip 而且还能兼容?
    19 条回复    2015-12-18 21:49:10 +08:00
    kikyous
        1
    kikyous  
       2015-10-14 11:55:05 +08:00
    gzip 为什么对图片不适应
    chzyer
        2
    chzyer  
       2015-10-14 12:09:00 +08:00
    这里的 gzip 其实只是端对端的传输压缩而已
    sincway
        3
    sincway  
       2015-10-14 12:14:26 +08:00 via iPhone
    不适用是有的格式已经压缩到极限了,再压一次效果不明显,不代表不能用。
    ctexlive
        4
    ctexlive  
       2015-10-14 14:09:36 +08:00
    gzip 难道不是传输时对数据包的压缩妈?怎么可能专门在存储的时候压缩一张图片保存?
    chairuosen
        5
    chairuosen  
       2015-10-14 14:14:40 +08:00
    因为图片的压缩率比较高,所以 gz 并没有啥效果还浪费 CPU 。所以才不建议的
    zhicheng
        6
    zhicheng  
       2015-10-14 14:29:24 +08:00
    可能会增加尺寸。
    neilwong
        7
    neilwong  
       2015-10-14 15:10:15 +08:00
    不想用 gzip ,请求图片的时候把 Accept-Encoding : gzip 这个头去掉不就行了嘛
    Themyth
        8
    Themyth  
       2015-10-14 15:39:38 +08:00
    我觉得阿里云在后台只不过是 text/html 而已,人家不是故意的
    jimrok
        9
    jimrok  
       2015-10-14 16:12:54 +08:00   ❤️ 3
    感觉是阿里云的小白干的事,又浪费 cpu ,又增加了传输大小。目前的图片压缩算法 JPG 改进的余地很小,减少尺寸唯有降低质量和大小, gzip 上去包一层不能压缩的东西,既浪费他们的 cpu ,又浪费用户的 cpu 。
    tczzjin
        10
    tczzjin  
       2015-10-14 20:59:01 +08:00
    @jimrok 这样又可以收费了...~
    maxsec
        11
    maxsec  
       2015-10-14 22:55:30 +08:00
    @jimrok
    GZIP 增加了 SIZE 的证明?
    jimrok
        12
    jimrok  
       2015-10-16 22:42:30 +08:00
    @maxsec 把 1 这个值表示称 bit 最少要一个 byte 。这个 byte 压缩一下,看看你压缩完的内容能不能小于 1 个 byte 。
    maxsec
        13
    maxsec  
       2015-10-17 21:05:59 +08:00
    @jimrok gzip 一般都对数 K 以上内容启用,我想知道的是图片用 GZIP 百分之百会增大体积吗
    jimrok
        14
    jimrok  
       2015-10-19 11:45:58 +08:00
    @maxsec 你需要了解一下压缩的原理,我们已经使用了个种算法来提高压缩率,我们不论怎么努力,也能将一个信息压缩没,因为信息墒总是存在的,压缩不能减少这个墒。只是重新排列他们的位置。 jpg 格式已经在这方面做的够好了,几乎没有其他的算法超过 jpge 的。你用 gzip 再压缩,得到的就是 gzip 的壳大小+图片大小。除非你的图片时 bmp 这种没压缩格式, gzip 会有效果,压缩率肯定比不上图片格式的压缩率。
    maxsec
        15
    maxsec  
       2015-10-20 11:19:50 +08:00
    @jimrok 我想请问下作为一个云储存或者 CDN 应该关心用户上传的内容是啥吗? NO.
    为什么?
    首先,假如用户上传.JPG 结尾的内容,但其内容是纯文本的,
    这种情况会经常存在。

    应不应该开启哩?

    业内统一的标准都是这样, S3 也是这样。




    ---

    回到题主的问题, CDN 做不做 GZIP ,往往是尊重源站的设定。源站对 JPG 开启了 GZIP , CDN 也会保留此头。
    maxsec
        16
    maxsec  
       2015-10-20 11:20:44 +08:00
    既然不会增大体积,在现今单位计算成本并不高的时代,开启或不开启,我更倾向于开启。
    jimrok
        17
    jimrok  
       2015-10-20 13:57:20 +08:00
    "假如用户上传.JPG 结尾的内容,但其内容是纯文本的",你这个假定的比例多大,会不会让 cdn 的数据中心一年多消耗 20%的电力?
    akira
        18
    akira  
       2015-10-23 13:57:05 +08:00
    cdn 其实是恨不得全部都不做 gzip 的。。。
    qhxin
        19
    qhxin  
       2015-12-18 21:49:10 +08:00   ❤️ 1
    铜币收好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2704 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:33 · PVG 16:33 · LAX 01:33 · JFK 04:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.