每次我通过我的 iOS 应用程序将图像上传到 Twitter 或 Facebook 时,图像的质量都很差。我一直在寻找这个问题,似乎每个人都在受苦……除了制作 Temple Run 2 的人。如果你看一下通过游戏发布的图像:
https://twitter.com/MattGoldenVP/status/356082804066488320
它看起来很棒。他们如何做到这一点?
每次我通过我的 iOS 应用程序将图像上传到 Twitter 或 Facebook 时,图像的质量都很差。我一直在寻找这个问题,似乎每个人都在受苦……除了制作 Temple Run 2 的人。如果你看一下通过游戏发布的图像:
https://twitter.com/MattGoldenVP/status/356082804066488320
它看起来很棒。他们如何做到这一点?
鉴于提供的信息,这是第一个猜测可能导致这种情况的原因:
允许中间缓存(也称为代理)缓存给定媒体类型的与原始媒体类型不同的表示。因此,他们可能会选择压缩它以节省缓存空间或在连接不良时减少传输时间。
幸运的是,HTTP 1.1 已经认识到这种行为可能存在的问题,并引入了一种方法让发送者指定一个特定的缓存控制标头,该标头实际上禁止代理接触它们传输的媒体:
如果您指定 HTTP 1.1 标头
Cache-Control: no-transform
您明确禁止在媒体类型通过代理时对其应用转换。
另请参见RFC 2616 14.9 Cache-Control和 14.9.5 No-Transform Directive