启用mod_deflate时,Apache 2.4.7不会发送304响应

时间:2014-06-04 13:38:10

标签: json apache ubuntu gzip mod-deflate

我在Ubuntu Server 14.04上运行Apache 2.4.7

我正在运行一个网络服务器。它会为图片返回304 modified,但它不会为json文件返回相同内容。我已经检查了this postthis post的答案和评论,但是,它们并不适用于我。

在我的.conf文件中,当我未加载mod_deflate时,服务器会为304文件返回json响应。但是当我GZIP这个文件时,服务器返回200 OK

这是我添加到apache2.conf文件中的内容:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
    AddOutputFilterByType DEFLATE application/javascript
</IfModule>

mod_deflate个文件同时启用304.json的任何解决方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

只需在apache config中将Etag设置为NONE即可。

启用mod_deflate会将-gzip附加到Etag,然后哪个服务器不接受。

查看mod_deflate spec

  

AddSuffix将压缩方法附加到ETag的末尾,   导致压缩和未压缩的表示具有唯一性   ETag的。这是自2.4.0以来的默认值,但阻止了服务   &#34; HTTP未修改&#34; (304)对条件请求的回应   压缩内容。