为 Apache 启用 gzip 时需要注意 ETag 的配置

网上为 Apache 启用 gzip 压缩的教程一抓一大把,然而很少有提及在启用 gzip 时需要注意 ETag 的配置的。由于 Apache 的设计原因,gzip 与 ETag 不能很好地一起工作。例如有很多本应该发送 304 Not Modified 的回应,在启用 gzip 后,会发送 200 OK 的回应。这样一来,原本无需发送数据的请求变成了需要发送数据的请求,相当于抵消一部分开启 gzip 减少网络流量的作用。当然,针对这个问题解决方案有很多,但是都不尽完美。我选择的是直接禁用对文件的 ETag,即在服务器配置文件中加入一句 FileETag None。这样一来,服务器便会用时间来判定是应该发送 304 回应还是 200 回应,避免了错误的回应消耗网络流量。

参考资料: StackOverflow 上的问答  Bug 39727  Bug 45023

此条目发表在计算机技术分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注