【发布时间】:2010-05-06 07:01:42
【问题描述】:
我在我的 iis 设置中为 javascript 文件启用 gzip,这是相应的配置部分。
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="8" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/soap+msbin1" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
目前,当我下载我的 js 文件时,似乎有时服务器会返回 gzip 文件,有时则不会。我不知道为什么,以及如何调试。
如果一个文件已经被gzip压缩了,它应该被缓存在本地磁盘中,下次有人再次访问该文件时,iis内核应该直接返回缓存的gzip文件,而不是再次压缩它。对吗?
【问题讨论】:
-
你能在两种情况下都发布请求和响应正文吗(当文件被压缩而不是压缩时)?您可以在 IE 中使用 Fiddler,在 Firefox 中使用 FireBug。
-
嗨,artem,我是一名网络开发人员,我知道如何检查响应是否被压缩。我确定它没有压缩。幸运的是,我发现这是一个 iis 错误。我写了一篇关于这个错误的帖子。
标签: javascript iis caching compression gzip