YSlow 为使用 mod_deflate 压缩的文件提供 F 级

2024-04-07

我在用着mod_deflate on 阿帕奇2.2压缩级别设置为 9。我根据以下建议对网站的每个可能的方面进行了微调Y慢 (v2)并在所有类别上均取得了总体 A 级(总分:91),除了:

  • 减少 HTTP 请求(Grade C- 我还在进一步努力 图像统一)
  • 使用 gzip 压缩组件(Grade F)

YSlow still reports back with a F and tells me to use gzip on my CSS and JS files. Here's a screenshot of the YSlow report (the domain has been blurred out for the sake of privacy): screenshot of YSlow report

然而,像这样的网站GIDNetwork GZIP 测试 http://www.gidnetwork.com/tools/gzip-test.php报告完美压缩!

我的 .htaccess 的 mod_deflate 部分

# Below uses mod_deflate to compress text files. Never compress binary files.
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE

# compress content with type html, text, js, and css
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript text/xml image/svg+xml application/javascript application/x-javascript application/atom_xml application/rss+xml application/xml application/xhtml+xml application/x-httpd-php application/x-httpd-fastphp

# Properly handle old browsers that do not support compression  
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Explicitly exclude binary files from compression just in case
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary

# properly handle requests coming from behind proxies
Header append Vary User-Agent env=!dont-vary
</IfModule>

谁能指出我哪里出错了?

谢谢, 米^e


mod_deflate 可能配置不正确。

典型的 mod_deflate 配置可能会根据用户代理字符串排除某些浏览器,并且可能仅配置为压缩某些文件类型 - 由在服务器上注册的 MIME 类型标识。

您应该压缩所有 HTML、CSS 和 Javascript 文件,但不压缩 PNG、GIF 或 JPEG 文件,而且 Netscape 4 存在一些您可能不想考虑的错误。尝试使用文档中的示例代码 http://httpd.apache.org/docs/2.2/mod/mod_deflate.html#recommended:

<Location />
    # Insert filter
    SetOutputFilter DEFLATE

    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    # Don't compress images
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary
</Location> 

还要注意,您发布的 GIDZipTest GZIP 测试不会测试关联的 Javascript 和 CSS 文件,而 YSlow 会测试 - 在 GIDZipTest GZIP 测试中,您需要单独测试这些文件。

我猜你的 ISP 也可能正在使用缓存代理(透明或不透明),这会破坏或删除你的 Accept-Encoding: 标头。要排除这个原因,您可以请某人从 ISP 外部对其进行测试。

另一件需要注意的事情是,当使用 gzip 压缩文件时,您是以带宽换取 CPU 时间。高于较低的压缩强度,您会发现带宽节省的回报递减,但所需的 CPU 时间却大幅增加。不幸的是,当压缩强度高达 9 时,您几乎肯定会浪费太多 CPU 时间而几乎没有改进压缩 - 我始终建议使用强度 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YSlow 为使用 mod_deflate 压缩的文件提供 F 级 的相关文章

  • 为什么数据只能压缩一次?

    所以压缩过程需要一大块二进制数据A并输出较小的二进制数据块B 有什么特点B使其无法再次经历这个过程 数据有一种叫做熵的东西 每个新位给出的新信息量 例如 10101010101010101010具有低熵 因为你不需要下一点就知道接下来会发生
  • Python3:没有 gzip 或 zlib?

    该模块现在有其他名称吗 我似乎找不到任何信息表明该模块已被弃用或完全删除 这会让我更加困惑 有谁知道这去哪儿了 Python 3 1 2 r312 79147 May 20 2010 09 09 30 GCC 4 1 2 20080704
  • Python中最佳比率的压缩?

    Python 中哪种压缩方法的压缩率最好 常用的是zlib compress 最好的还是有更好的选择 我需要获得尽可能最佳的压缩比 我正在压缩字符串并通过 UDP 发送它们 我压缩的典型字符串大约有 1 700 000 字节 我确信可能有一
  • Spark 向 S3 写入/读取 - 分区大小和压缩

    我正在做一个实验来了解哪种文件大小对于 s3 和 EMR Spark 表现最好 输入数据 Incompressible data Random Bytes in files Total Data Size 20GB Each folder
  • 为什么 tarfile 模块不允许压缩附加?

    没有直接的方法可以追加到压缩的 tar 存档中 作为文档状态 https docs python org 3 library tarfile html tarfile open 注意 a gz a bz2 or a xz 不可能 作为解决方
  • YUI Compressor 中 JQuery 文件的压缩问题

    我正在尝试使用 YUI 压缩器缩小一些文件 然而 我似乎在两行代码上遇到了错误 这阻止了压缩 js 文件用于jcarousel精简版 http www gmarwaha com jquery jcarousellite 包含 1 个错误 我
  • MySQL中如何压缩列?

    我有一个存储电子邮件通信的表 每当有人 回复 整个路径也被包含并保存到 数据库 我需要这样 因为应用程序的数量 级别更改以纠正太高的情况 尺寸mail文本列是10000 但是 我在存储文本时遇到的困难还不止这些 由于我不确定可以发生多少个通
  • 纯文本压缩算法的现状如何?

    为了纪念哈特奖 http prize hutter1 net 文本压缩的顶级算法 以及每种算法的快速描述 是什么 注意 这个问题的目的是获得压缩算法的描述 而不是压缩程序的描述 突破边界的压缩器结合了疯狂结果的算法 常见的算法包括 The
  • 如何使用 PHP 读取来自 Stackoverflow API 的 GZIP 响应?

    如何使用 PHP 读取 Stackoverflow API 的响应 响应是 GZIP 编辑的 我发现例如以下建议 url http api stackoverflow com 1 1 questions question id data f
  • 用于 HTTP 压缩的 GZip 或 Deflate

    哪种压缩方法更好 我听说过很多关于 GZip 被更广泛使用的说法 但 Deflate 更快 在某些情况下 是否有公认的标准来使用哪个标准以及为什么 UPDATE 根据链接问题的最新更新 应该使用 GZip 看http www vervest
  • 如何在 IIS 7.5 中启用 GZIP 压缩

    我想使用 GZIP 压缩我的文件 您能分享一下使用 GZIP 压缩文件的 web config 代码吗 上传 web config 文件后还需要做什么吗 GZip 压缩可以直接通过 IIS 启用 首先 打开IIS 转到您希望调整的网站并点击
  • Java 压缩字符串

    我需要创建一个接收字符串并返回字符串的方法 防爆输入 AAABBBCCC 防爆输出 3A4B2C 好吧 这很尴尬 我在今天的面试中无法做到这一点 我正在申请初级职位 现在 我在家尝试制作一些静态工作的东西 我的意思是 不使用循环有点无用 但
  • 使用php.ini、.htaccess和zlib.output压缩js、css和php文件

    我一直在尝试使用 gzip 压缩我的网站 尽管我的服务器不允许我使用 mod deflate 所以我在这里找到了替代解决方案 http www warpconduit net 2010 10 23 enabling gzip compres
  • 使用 Python 解压缩数据包的 gzip 有效负载

    我目前正在开发一个程序 该程序采用 pcap 文件并使用 scapy 包按 ip 分离出所有数据包 我想解压缩使用 gzip 包压缩的有效负载 我可以判断有效负载是否经过 gzip 压缩 因为它包含 Content Encoding gzi
  • 我认为 *.DDS 文件应该能够快速加载?

    好的 所以我正在尝试权衡使用各种不同纹理压缩技术的利弊 我 99 999 的时间都在使用 DirectX 为 Windows 机器编写 2D 精灵游戏 到目前为止 我已经研究了带有 alpha 修剪的纹理打包 SpriteSheets 这似
  • Google 的 Page Speed 无损图像压缩如何工作?

    当您在网站上运行适用于 Firebug Firefox 的 Google PageSpeed 插件时 它会建议可以无损压缩图像的情况 并提供下载此较小图像的链接 例如 无损压缩http farm3 static flickr com 266
  • 从选定位置导入 Python 模块

    假设我有三个脚本 Main py 包含所有导入 1 py 随机脚本 2 py 随机脚本 pyinstaller F onedir Main py 80mb pyinstaller F onedir 1 py 80mb pyinstaller
  • C++ 压缩字节数组

    大家好 我加载一组图像并生成体积数据 我将此体积数据保存在 无符号字符 体积 array 现在我想将此数组保存在文件中并检索 但在保存之前我想压缩字节数组 因为卷数据很大 这方面有什么建议吗 提前致谢 volume在你的例子中不是一个数组
  • 无需构建树即可预测霍夫曼压缩比

    我有一个二进制文件 我知道其中每个符号出现的次数 如果我要使用霍夫曼算法压缩它 我需要预测压缩文件的长度 我只对假设的输出长度感兴趣 而不对单个符号的代码感兴趣 因此构建霍夫曼树似乎是多余的 作为一个例子 我需要得到类似的东西 包含 4 个
  • tar 和 zip 有什么区别? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 tar 和 zip 有什么区别 每个的用例是什么 tar其本身只是将文件捆绑在一起 结果称为tarball 尽管zip也应用压缩 通常你使用gzip随

随机推荐