Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 6 啟用 Gzip/HTTP 壓縮完整圖文教學:Metabase.xml 手動配置篇

編輯:關於伺服器

HTTP 壓縮原理速覽

  1. 瀏覽器送出 Accept-Encoding: gzip, deflate。
  2. IIS 依副檔名判斷是否壓縮 (靜態檔查 HcFileExtensions,動態檔查 HcScriptFileExtensions)。
  3. 靜態檔:檢查壓縮快取目錄,有則直接回傳 .gz,無則即時壓縮並快取。
  4. 動態檔:即時壓縮回傳,不快取。

啟用步驟 (IIS 6 / Windows Server 2003)

1. IIS 管理介面基本設定

「網站」→ 右鍵「內容」→「服務」分頁 → 勾選「壓縮應用程式檔案」與「壓縮靜態檔案」,設定暫存目錄與大小上限。

2. (可略過) Web 服務擴展添加 gzip.dll

實測此步驟非必要,保留相容性即可。

3. 核心:編輯 MetaBase.xml

  1. 停止「IIS Admin Service」服務 (否則檔案被鎖定無法存檔)。
  2. 備份 C:\Windows\System32\inetsrv\MetaBase.xml。
  3. 尋找 <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"> 與 deflate 兩節點。
  4. 關鍵屬性設定:

4. 範例設定片段

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

5. 重新啟動 IIS 驗證

  • 用 Fiddler/瀏覽器開發者工具檢查回應標頭 Content-Encoding: gzip。
  • YSlow 評分:僅靜態壓縮得 B,動靜態全開得 A。

常見坑點總結

  1. 必須先停止 IIS Admin Service 才能存檔 MetaBase.xml。
  2. 壓縮等級對 jQuery 等已最佳化 JS 檔效果有限 (大小不變)。
  3. 圖片 (JPG/PNG/GIF) 已壓縮,再開 Gzip 無增益且浪費 CPU。
  4. 步驟 2 (Web 服務擴展) 可省略,不影響結果。
Copyright © Windows教程網 All Rights Reserved
屬性建議值說明
HcDoDynamicCompressionTRUE啟用動態壓縮 (ASPX、ASHX 等)
HcDoStaticCompressionTRUE啟用靜態壓縮
HcDoOnDemandCompressionTRUE啟用按需壓縮 (首次請求即時壓縮)
HcDynamicCompressionLevel9動態壓縮等級 0-10,9 為性價比最佳
HcOnDemandCompLevel9按需壓縮等級
HcFileExtensionshtm html txt js css swf xml json靜態檔副檔名白名單
HcScriptFileExtensionsasp aspx ashx asmx dll exe動態檔副檔名白名單