IIS6:为 cfm/js/css 文件设置 gzip 压缩

Posted

技术标签:

【中文标题】IIS6:为 cfm/js/css 文件设置 gzip 压缩【英文标题】:IIS6: setting up gzip compression for cfm/js/css files 【发布时间】:2012-01-02 05:35:26 【问题描述】:

我是 IIS 新手。简而言之,我在为 IIS6 中的“cfm js css”文件类型设置 gzip http 压缩时遇到了问题。

我关注的参考资源位于: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/502ef631-3695-4616-b268-cbe7cf1351ce.mspx?mfr=true

以下是我执行的具体步骤:

    在 IIS 管理器中,双击本地计算机,右键单击网站文件夹,然后单击属性。 单击“服务”选项卡,然后在“HTTP 压缩”部分中,选中“压缩应用程序文件”复选框以启用对动态文件的压缩。 选中压缩静态文件复选框以启用静态文件压缩。 将“临时目录:”更改为“C:\Inetpub\compressed_static_files”。 在最大临时目录大小下,单击“无限制”单选按钮。 单击“应用”按钮,然后单击“确定”。

但是,这些设置仅适用于 .htm、.html、.txt 和 .asp、.exe 和 .dll 文件类型。因此,为了添加 .js、.css 和 .cfm,我根据 url 处的说明运行了以下命令:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5bce429d-c4a7-4f9e-a619-5972497b932a.mspx?mfr=true

具体步骤如下:

cd c:\Inetpub\AdminScripts
cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions "htm html txt js css" 
cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions "htm html txt js css"
cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions "asp dll exe cfm"
cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions "asp dll exe cfm"

为了激活它,我重新启动了 IIS。我遵循的步骤是:

    在 IIS 管理器中,右键单击我的本地计算机并选择“所有任务 > 重新启动 IIS...”。 选择“重新启动 Internet 服务”并单击“确定”。 点击“立即结束”。

此时,服务器重新启动,现在我通过以下步骤测试了http压缩是否有效:

    在 FireFox 中打开我的网站并转到任何带有 .cfm 扩展名的页面。 打开 FireBug。 检查 .cfm 文件的“GET”请求标头。我看到了“接受编码:gzip,放气”。这是浏览器发送到服务器的内容。 现在,检查 .cfm 文件的“GET”响应标头。甚至没有“内容编码:”标头。我应该在这里看到“Content-Encoding: gzip”,以确认服务器将 .cfm 文件发送为 gzip 编码。

“js css”甚至“html”文件也是如此。我认为这一定是我在这里缺少的一些非常基本的东西。如果有人能给我一个提示,那就太好了。

提前致谢。 创

【问题讨论】:

【参考方案1】:

在 IIS6 上,我总是通过直接编辑元数据库来做到这一点。

您必须检查网络服务器属性上的设置才能执行此操作,并确保首先备份元数据库,例如将其签入您的源代码库

Jeff Atwood 在这里介绍它:http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html

【讨论】:

确保在对 MetaBase.xml 进行更改时停止 IIS,否则 iis 可能会频繁覆盖该文件。【参考方案2】:

在提出问题 2 年后,对 OP 的帮助不大,但为了方便其他人在 Google 中找到这个问题(就像我一样),这里的问题在于语法。

cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions "htm html txt js css"

应该是

cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions "htm" "html" "txt" "js" "css"

请注意,引号是列表中的每个项目,而不是整个列表

【讨论】:

以上是关于IIS6:为 cfm/js/css 文件设置 gzip 压缩的主要内容,如果未能解决你的问题,请参考以下文章

求助:环境win2003 sp2+iis6.0+asp+asp.net2.0,死活访问不了ASP文件,html是可以访问的,详情见下面。

IIS6/7 配置操作

WCF 托管在 IIS6 上

IIS6.0设置了404错误,对htm和aspx、asp都好用,对html不起作用

在 IIS6 上托管 WCF,是不是需要任何特殊设置?

IIS6 301重定向和IIS7 301重定向