【发布时间】:2010-10-17 12:02:36
【问题描述】:
我的网站全部按照以下方式进行 Gzip 压缩:
http://www.gidnetwork.com/tools/gzip-test.php
但是,当我通过 Yslow 运行它时,我得到一个 Gzip 的 F,它会将我的所有脚本列为未压缩的组件。
有什么想法吗?
【问题讨论】:
我的网站全部按照以下方式进行 Gzip 压缩:
http://www.gidnetwork.com/tools/gzip-test.php
但是,当我通过 Yslow 运行它时,我得到一个 Gzip 的 F,它会将我的所有脚本列为未压缩的组件。
有什么想法吗?
【问题讨论】:
查看 Firebug 中的标头并检查浏览器是否正在发送
Accept-Encoding gzip,deflate
在请求头和那个
Content-Encoding gzip
正在由服务器在响应标头中发送(表明已应用 gzipping)。
【讨论】:
Content-Encoding: gzip 确定内容是否被压缩接收。 Accept-Encodnig: gzip,deflate与浏览器是否接受gzip内容有关,即使接收到的内容没有用gzip压缩,也会设置。
如果您使用链接页面中的方法对您的网站进行 gzip,它不会对脚本产生任何影响,因为它们不是通过 PHP 运行的。您需要:
1) 配置您选择的网络服务器(apache2 使用 mod_deflate)
2) 通过 php 提供您的 .js 文件:
<?php ob_start('ob_gzhandler'); echo file_get_contents('whatever.js'); ?>
【讨论】: