Iis 根据Firebug的说法,静态文件只有在Fiddler运行时才会被压缩——为什么?

Iis 根据Firebug的说法,静态文件只有在Fiddler运行时才会被压缩——为什么?,iis,iis-6,compression,firebug,fiddler,Iis,Iis 6,Compression,Firebug,Fiddler,我有一个运行在IIS 6.0中的ASP.NET MVC站点,希望它能够压缩它提供的静态css和js文件。该站点具有通配符映射,因此所有请求(包括无扩展URL)都通过aspnet_isapi.dll进行。静态内容保存在内容和脚本文件夹中 我已执行了以下步骤: 在IIS控制台(网站->服务选项卡)中为应用程序文件和静态文件启用HTTP压缩 添加了一个名为“HTTP压缩”的Web服务扩展,该扩展引用了inetsrv\gzip.dll 编辑MetaBase.xml,将css和js添加到gzip的HcF

我有一个运行在IIS 6.0中的ASP.NET MVC站点,希望它能够压缩它提供的静态css和js文件。该站点具有通配符映射,因此所有请求(包括无扩展URL)都通过aspnet_isapi.dll进行。静态内容保存在内容和脚本文件夹中

我已执行了以下步骤:

  • 在IIS控制台(网站->服务选项卡)中为应用程序文件和静态文件启用HTTP压缩

  • 添加了一个名为“HTTP压缩”的Web服务扩展,该扩展引用了inetsrv\gzip.dll

  • 编辑MetaBase.xml,将css和js添加到gzip的HcFileExtensions属性中,并对IIsCompressionScheme条目进行deflate

  • 从“内容”和“脚本”文件夹中删除了通配符映射(通过临时将它们设为子网站来实现这一点,删除了通配符映射,将它们恢复为普通文件夹)。这将确保IIS在不涉及ASP.NET的情况下提供这些文件

我现在得到的奇怪行为是,当Fiddler运行时,它会报告css和js的压缩文件大小,Firebug也会这样做(例如,jQueryUI.min.js的压缩文件大小为47.9KB)。但当我禁用Fiddler并按CTRL+F5时,Firebug报告未压缩的大小(对于jquery ui.min.js为194.2KB)以及意外的内容类型和内容长度

请求头不会更改,但是查看响应头很有趣。 运行Fiddler时,Firebug报告(对于jquery ui.min.js):

没有小提琴手:

Proxy-Authenticate  NTLM
Content-Length  415
Keep-Alive  timeout=5, max=100
Connection  Keep-Alive
Content-Type    text/html; charset=iso-8859-1
为什么内容类型现在是text/html?415的内容长度看起来很奇怪,它与Firebug报告的响应大小194.2KB不匹配。各种其他标题不再存在。

为完整起见,请求标头为:

Host    my-windows-box
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)
Accept  */*
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Proxy-Connection    keep-alive
Referer http://my-windows-box/site
Cookie  ASP.NET_SessionId=nbsb2hbkjdtcgjdntco25zqc
Pragma  no-cache
Cache-Control   no-cache

Firebug中响应的状态代码是什么?我的第一个猜测是它是HTTP/401,您在这里看到的是请求NTLM凭据的身份验证页面。

状态代码是200,对于给定的文件,Fiddler报告的响应大小等于压缩文件大小(通过在Windows资源管理器中压缩各种js、css文件确认)。
Host    my-windows-box
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)
Accept  */*
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Proxy-Connection    keep-alive
Referer http://my-windows-box/site
Cookie  ASP.NET_SessionId=nbsb2hbkjdtcgjdntco25zqc
Pragma  no-cache
Cache-Control   no-cache