启用mod_deflate发送Content-Encoding:gzip

编辑我已经发现,问题实际上是PHP minify 。 这是发送瘪的内容,而不是Apache。 我会在这里find更多。

根据高性能网站 ,如果我在Apache 2.x中启用mod_deflate,通过添加以下行,它应该发送gzip / delfated内容: –

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript 

这本书还说, gzipdeflate更有效。

我已经在httpd.conf中添加了相同的行。 但是Apache发送Content-Encoding: deflate

我使用CURL进行testing: –

 curl -i -H "Accept-Encoding: gzip" "http://192.168.1.33/s.js" >> e:\curl_log.txt 

它返回“gzipped”的内容。 但是当我发送命令:

 curl -i -H "Accept-Encoding: gzip, deflate" "http://192.168.1.33/s.js" >> e:\curl_log.txt 

它返回“泄气”的内容。

所以,如果浏览器支持缩小和gzip,Apache发送瘪。 如何告诉Apacheselectgzip over deflate?

供参考: –

  • 我找不到任何东西: http : //httpd.apache.org/docs/2.0/mod/mod_deflate.html 。
  • 在Apache conf中没有发生no-gzip。
  • 服务器:Apache / 2.2.9(Win32)PHP / 5.2.6
  • FF发送请求标头为:“Accept-Encoding:gzip,deflate”

正如我看到的原因已经找到。 为了进一步帮助摆脱困惑:

  • 尽管它的名字是mod_deflate,但目前只支持gzip。

  • 由于以下原因,gzip更“有效”

deflate – 尽管它的名字应该使用zlib压缩(RFC 1950)(与deflate compression(RFC 1951)相结合),如RFC 2616所述。然而,真实世界中的实现似乎在zlib压缩和(原始)放气压缩[3] [4]。 由于这种混淆,gzip将自己定位为更可靠的默认方法(2011年3月)。

gzip和zlib是文件/数据流格式,默认情况下是放在deflate中,还有其他的东西添加校验和,使它们更安全,速度更慢。 另一方面,大小的增加不应该有任何顾虑。

另请参阅HTTP_compression – 维基百科

  • deflate会更“高效”( 有关zlib的常见问题解答 – “gzip”和“deflate”HTTP 1.1编码有什么区别 )

请参阅http://httpd.apache.org/docs/2.0/mod/mod_deflate.html了解所有血腥细节 – 你确定你no-gzip在配置的其他地方发生过no-gzip吗? 当你改变你的“浏览器”会发生什么,例如通过使用wget-U各种值?

我怀疑你用什么来测试不发送…

接受编码:gzip

…在请求标题中。