【问题标题】:Enable mod_deflate to send Content-Encoding: gzip启用 mod_deflate 以发送 Content-Encoding: gzip
【发布时间】:2010-10-27 01:22:35
【问题描述】:

EDIT我发现问题其实是php minify。这是发送压缩的内容而不是 Apache。我会在这方面找到更多信息。

根据High Performance Web Sites,如果我在 Apache 2.x 中启用 mod_deflate,通过添加以下行,它应该发送 gzipped/delfated 内容:-

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

书上还说gzipdeflate更有效。

我通过添加同一行在 httpd.conf 中启用。但是 Apache 发送了Content-Encoding: deflate

我使用 CURL 进行了测试:-

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

它返回“压缩”内容。但是当我发送命令时:-

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

它返回“放气”的内容。

所以,如果浏览器同时支持 deflated 和 gzipped,Apache 会发送 deflated。如何告诉 Apache 更喜欢 gzip 而不是 deflate?

仅供参考:-

【问题讨论】:

    标签: apache deflate mod-deflate


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我怀疑你用来测试的东西没有发送......

      接受编码:gzip

      ...在请求标头中。

      【讨论】:

        【解决方案3】:

        据我所知,原因已经找到。为了进一步帮助摆脱可能的困惑:

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

        • gzip 更“有效”,原因如下

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

        gzip 和 zlib 是文件/流格式,默认情况下会环绕 deflate 并添加校验和,使其更安全且速度稍慢。另一方面,大小的增加不应该引起任何关注。

        另见HTTP_compression - Wikipedia

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-14
          • 1970-01-01
          • 1970-01-01
          • 2012-08-23
          • 2021-10-20
          • 2010-10-07
          • 1970-01-01
          • 2013-09-09
          相关资源
          最近更新 更多