2011-05-04 57 views
2

我在我的网站上实现了CSS和JS文件的Gzip压缩,只需要仔细检查一下。在IIS 6中预压缩静态文件

文件是否在每个请求上被压缩?还是从临时文件夹收集并发送(如果文件存在)?我只是想确保我的文件不会在每个请求中被压缩。

此外,这是默认行为还是我需要一些额外的配置?

最后,在路径中使用哈希标记(通知浏览器文件已更改)和静态文件压缩时,是否需要担心或配置某些内容?或者它应该没有问题。

编辑:我只是用静态压缩

非常感谢

回答

1

采取为了充分利用IIS压缩的,你需要一些额外的位添加到元数据库文件。

  1. 备份您的元基文件。
  2. 启用实时编辑在IIS元基本文件(或者你需要重新启动IIS,当你完成。)

找到IIsCompressionScheme并进行以下编辑元基本文件

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" 
     HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
     HcCreateFlags="0" 
     HcDoDynamicCompression="TRUE" 
     HcDoOnDemandCompression="TRUE" 
     HcDoStaticCompression="TRUE" 
     HcDynamicCompressionLevel="10" 
     HcFileExtensions="htm 
      html 
      css 
      js 
      txt 
      xml" 
     HcOnDemandCompLevel="10" 
     HcPriority="1" 
     HcScriptFileExtensions="asp 
      dll 
      aspx 
      axd 
      ashx 
      asbx 
      asmx 
      swf 
      asmx 
      exe" 
    > 
</IIsCompressionScheme> 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" 
     HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
     HcCreateFlags="1" 
     HcDoDynamicCompression="TRUE" 
     HcDoOnDemandCompression="TRUE" 
     HcDoStaticCompression="TRUE" 
     HcDynamicCompressionLevel="10" 
     HcFileExtensions="htm 
      html 
      js 
      css 
      txt 
      xml" 
     HcOnDemandCompLevel="10" 
     HcPriority="1" 
     HcScriptFileExtensions="asp 
      dll 
      aspx 
      axd 
      ashx 
      asbx 
      asmx 
      swf 
      asmx 
      exe" 
    > 
</IIsCompressionScheme> 

使用FF插件(如YSlow或Firebug)完成从您的站点测试页面后,使用Firebug,您可以检查Net标签中的每个元素,并检查是否正确的压缩应用于正确的文件类型。

没有与这里的例子http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html

1

IIS 6个支持动态和静态压缩。

看看relevant documentationdecent blog entry关于这个问题。 “

+0

感谢安迪一个伟大的文章,我会看看,我在静态压缩只是感兴趣。 – tif 2011-05-05 07:45:41

+0

好文章!干杯 – tif 2011-05-05 09:11:26

1

”然后将新压缩的文件存储在压缩目录中,并且后续对该文件的请求将直接从压缩目录提供服务。换句话说,文件的未压缩版本将返回给客户端,除非压缩版本的文件在压缩目录中已存在。“*