2011-05-04 59 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

」然後將新壓縮的文件存儲在壓縮目錄中,並且後續對該文件的請求將直接從壓縮目錄提供服務。換句話說,文件的未壓縮版本將返回給客戶端,除非壓縮版本的文件在壓縮目錄中已存在。「*