YSlow 建议我使用 HTTP 压缩来提高我网站的性能。然而,正如雅虎所指出的那样,存在一些问题。
浏览器和代理存在已知问题,这些问题可能会导致浏览器所期望的内容与它接收到的压缩内容不匹配。幸运的是,随着旧浏览器的使用减少,这些边缘情况正在减少。Apache 模块通过自动添加适当的 Vary 响应标头来提供帮助。
我知道最常见的问题发生在代理后面的 IE6 上。但今天这些问题有多普遍?为了量化它,大约有多少百分比的 Web 用户遇到 HTTP 压缩错误?
YSlow 建议我使用 HTTP 压缩来提高我网站的性能。然而,正如雅虎所指出的那样,存在一些问题。
浏览器和代理存在已知问题,这些问题可能会导致浏览器所期望的内容与它接收到的压缩内容不匹配。幸运的是,随着旧浏览器的使用减少,这些边缘情况正在减少。Apache 模块通过自动添加适当的 Vary 响应标头来提供帮助。
我知道最常见的问题发生在代理后面的 IE6 上。但今天这些问题有多普遍?为了量化它,大约有多少百分比的 Web 用户遇到 HTTP 压缩错误?
According to Apache’s recommended example for the use of mod_deflate, the only user agents that lack proper support are:
[…] Netscape Navigator version of 4.x. These versions cannot handle compression of types other than text/html. The versions 4.06, 4.07 and 4.08 also have problems with decompressing html files. Thus, we completely turn off the deflate filter for them.
Any other browser – especially all modern browsers – should support compression properly.
虽然我没有关于哪些客户端可以/不能使用压缩的统计数据,但我认为值得注意的是,在 IIS7 中,默认更改为启用 Http 压缩(针对静态内容),这至少显示了 Microsoft 对安全性的看法使用它。动态内容仍然被禁用,但这是为了节省 CPU 周期而不是客户端兼容性。
可以在此处找到一些 IIS7 特定数据,尽管我怀疑您会发现其他 Web 服务器的类似性能特征。
我强调要在每个站点上打开压缩。我还没有报告任何问题。