在IIS上啓用Gzip壓縮(HTTP壓縮)
http://www.cnblogs.com/zhangziqiu/archive/2009/05/17/gzip.html
1.打開Internet信息服務(IIS)管理器,右擊"網站"->"屬性",選擇"服務"。在"HTTP壓縮"框中選中"壓縮應用程序文件"和"壓縮靜態文件",按需要設置"臨時目錄"和"臨時目錄的最大限制";
2.在Internet信息服務(IIS)管理器,右擊"Web服務擴展"->"增加一個新的Web服務擴展...",在"新建Web服務擴展"框中輸入擴展名"HTTP Compression",添加"要求的文件"爲C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中"設置擴展狀態爲允許";
3.使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份), 找到Location ="/LM/W3SVC/Filters/Compression/gzip用於設置gzip壓縮, 找到Location ="/LM/W3SVC/Filters/Compression/deflate"用於設置deflate壓縮. 上面兩個節點緊挨着.並且設置的屬性相同. 如果需要壓縮動態文件,則將HcDoDynamicCompression設置爲"TRUE",並在HcScriptFileExtensions中增加您要壓縮的動態文件後綴名,如aspx;如果需要壓縮靜態文件,則將HcDoStaticCompression和HcDoOnDemandCompression設置爲"TRUE",並在HcFileExtensions中增加您需要壓縮的靜態文件後綴名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數值在0-10, 默認爲0. HcDynamicCompressionLevel屬性說明:HcDynamicCompressionLevel Metabase Property HcOnDemandCompLevel 屬性說明:HcOnDemandCompLevel Metabase Property 說明: 這兩個屬性值一般推薦設置爲9, 具有最佳性價比.但是在我的window server 2003上, 壓縮率無論如何設置, jQuery和jQuery UI兩個文件(58k/188k)壓縮後的大小一直相同.(20k/45k).
下面是我的實例:
<IIsCompressionSchemeLocation ="/LM/W3SVC/Filters/Compression/deflate" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="0" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="9" HcFileExtensions="htm html js css txt" HcOnDemandCompLevel="9" HcPriority="1" HcScriptFileExtensions="asp dll exe" > </IIsCompressionScheme> <IIsCompressionSchemeLocation ="/LM/W3SVC/Filters/Compression/gzip" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="1" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="9" HcFileExtensions="htm html js css txt" HcOnDemandCompLevel="9" HcPriority="1" HcScriptFileExtensions="asp dll exe" > </IIsCompressionScheme>
4.編輯完畢後保存MetaBase.xml文件;如果文件無法保存,則可能IIS正在使用該文件。打開"開始"->"管理工具"->"服務",停止"IIS Admin Service"後,即可保存;
要點總結
1. 在修改MetaBase.xml文件時, 要停止"IIS Admin Service"服務. 否則無法保存.
2.靜態壓縮和動態壓縮率最好設置爲9.
3.上文的步驟2, 即使不添加Web服務擴展效果也是相同的.
4.壓縮率設置對js文件不起作用, 壓縮後大小總是相同的.
5.圖片文件即使啓用了gzip壓縮大小也沒有變化.