代码之家  ›  专栏  ›  技术社区  ›  pestaa

应为gzip内容

  •  0
  • pestaa  · 技术社区  · 15 年前

    我在我的网站上启用了gzip压缩,并使用以下工具进行了测试:

    尽管如此,火狐及其所有扩展(Firebug、yslow和Google页面速度)都表示它们接收到未压缩的内容。

    文本/html由php的ob-gzhandler压缩,它也关心头。

    我不使用代理。

    我做错什么了?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Pascal MARTIN    15 年前

    这并不是您所期望的答案,但您是否尝试过不使用PHP压缩数据,而是使用Apache?

    这可以用 mod_deflate .

    以下几点:

    • 这意味着对php的计算更少
    • 这也意味着 (这是最好的部分) ;-) ) 您的CSS/JS文件可以压缩到;考虑到这些文件的大小,现在压缩它们可能不是一件坏事…


    旁注:为了帮助我们找出PHP压缩的问题所在,您能提供更多的信息吗?像你网站的网址 (如果是公开的) 还有一些代码?


    现在我们有了URL,请编辑 : http://ego.pestaa.hu/

    当我转到该页时,响应的标题如下:

    HTTP/1.x 200 OK
    Date: Sat, 01 Aug 2009 21:53:37 GMT
    Server: Apache
    X-Powered-By: PHP/5.2.6
    **Content-Encoding: gzip**
    Vary: Accept-Encoding
    Keep-Alive: timeout=2, max=100
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html
    

    (使用带有livehttpheaders扩展名的firefox 3.5)

    您指出的三个测试站点也表示您的页面是gzip。
    你找到问题所在了吗?

    您确定这不是来自您的浏览器的内容,不会在请求中发送以下标题:

    Accept-Encoding: gzip,deflate
    

    其他答案后编辑

    从评论中引用:

    问题的根源可能不是 我的网站,但我的ISP/浏览器/路由器。 其中一个可以减压 部件到达内部之前 过程。

    哦,如果问题不在你的网站上,我想我完全理解错了这个问题——抱歉:(我以为你不知道如何从你的网站上服务器gzip内容)。
    我想我不是唯一一个,顺便说一句

    如果问题与网站的配置无关,那么有两种可能:

    • 可能是火狐配置错误?如果你去 about:config 什么? network.http.accept-encoding 说什么?对我来说 gzip,deflate
    • 如果问题来自您的ISP或类似的东西,没有任何人可以做…
        2
  •  1
  •   skaffman    15 年前

    试试 Live Http Headers 除了其他插件之外,还有火狐插件。它会打开一个窗口,在请求/响应头前后移动时显示准确的请求/响应头,因此您毫无疑问知道接受编码和响应编码是什么。

        3
  •  0
  •   Mike McQuaid    15 年前

    您是否尝试过在Apache/您的Web服务器中启用gzip/以及?

        4
  •  0
  •   Cristian Vat    15 年前
    • 你确定你在用火狐扩展测试相同的URL吗?
      • 在php中使用ob-gzhandler将压缩php页面的输出,但是yslow和其他人也会警告您未压缩的css/javascript文件。
    • 检查浏览器是否正在发送正确的邮件头。浏览器通常发送“accept-encoding:gzip”头来告诉脚本/webserver它接受压缩的内容。测试脚本肯定会发送这个消息,但您的浏览器可能不会。