在响应路径上,把内容压缩放在受限链路之前:

website → proxy transforms response → slow or metered link → browser

如果整个响应体已经经过那条链路,之后再压缩也无法挽回那些字节。具有更快上行链路的远程转换器,可能服务于与浏览器旁的本地代理不同的目的。

Ziproxy 说明了这种做法:其项目描述了一个不缓存的 HTTP 代理,它对类文本内容进行 gzip 压缩,并能生成更小、质量更低的图片。

响应路径可能的压缩量
gzip 编码无损;浏览器会解码出原始数据
图片重新压缩可能丢弃细节,在需要精确图片时并不适用
已经高效压缩过的内容进一步压缩的空间更小
普通 HTTPS CONNECT不透明的 TLS 使得在缺少另一套可信明文访问安排时无法转换 HTML 或图片

处理和额外的一跳也要花时间,所以字节更少并不保证更快完成。缓存会复用符合条件的已存储响应;压缩可以在不存储的情况下转换新获取的响应。

在 HTTP 内容可见的地方,请遵守 Cache-Control: no-transform。no-transform 响应策略约束合规的内容处理;它与传输加密是两回事。应根据实际内容和加密路径来估计收益,而不是依据旧的明文图片演示。

相关文章