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

IIS 6.0 啟用 Gzip 壓縮完整配置指南:提升網頁傳輸速度 70%+

編輯:Web 伺服器

HTTP 壓縮原理速覽

  1. 瀏覽器請求標頭含 Accept-Encoding: gzip, deflate
  2. IIS 偵測支援 → 檢查檔案副檔名 → 靜態檔查壓縮快取目錄 → 動態檔即時壓縮
  3. 回應標頭含 Content-Encoding: gzip,瀏覽器自動解壓渲染

效益: 文字類檔案 (HTML, CSS, JS, JSON, XML) 壓縮率通常 70%-90%,大幅降低頻寬、提升首屏載入速度。代價:微増 CPU 負載 (現代 CPU 可忽略)。

IIS 6.0 圖形介面基礎設定

  1. IIS 管理員 → 右鍵「網站」→「內容」→「服務」分頁
  2. 「HTTP 壓縮」區塊勾選:
    ☑ 壓縮應用程式檔案 (動態內容:ASP, ASPX, PHP 等)
    ☑ 壓縮靜態檔案 (HTML, CSS, JS 等)
  3. 設定「暫存目錄」 (建議非系統盤,如 D:\IIS_Compression) 與「暫存目錄大小限制」 (視磁碟空間,如 1024 MB)。

啟用 Web 服務擴充:註冊 gzip.dll

  1. IIS 管理員 → 「Web 服務擴充」→ 右鍵「新增 Web 服務擴充」
  2. 擴充名稱:HTTP Compression
  3. 必要檔案:C:\WINDOWS\system32\inetsrv\gzip.dll (路徑視 Windows 安裝目錄調整)
  4. ☑ 設定擴充狀態為允許

深度配置:編輯 MetaBase.xml (核心關鍵)

⚠ 操作前請備份 C:\Windows\System32\inetsrv\MetaBase.xml

  1. 用文字編輯器 (Notepad++) 開啟 MetaBase.xml
  2. 搜尋 Location ="/LM/W3SVC/Filters/Compression/gzip"
  3. 修改以下屬性值:
屬性說明建議值
HcDoDynamicCompression啟用動態壓縮TRUE
HcScriptFileExtensions動態壓縮副檔名asp, aspx, php, ashx, axd
HcDoStaticCompression啟用靜態壓縮TRUE
HcDoOnDemandCompression啟用按需壓縮 (首次請求壓縮並快取)TRUE
HcFileExtensions靜態壓縮副檔名html, htm, css, js, xml, txt, json, svg
HcDynamicCompressionLevel動態壓縮等級 (0-10, 越大壓縮率越高但 CPU 越高)9 (平衡)
HcOnDemandCompLevel靜態按需壓縮等級10 (最高,只壓一次)

套用變更:重啟 IIS Admin Service → 重啟 IIS

  1. 若儲存 MetaBase.xml 失敗 (被 IIS 鎖定):「服務」→ 停止 IIS Admin Service → 儲存 → 啟動服務。
  2. 命令列執行 iisreset 完整重啟 IIS。

驗證壓縮生效

  • 線上工具:HTTP Compression Test、PageSpeed Insights
  • 瀏覽器開發者工具 → Network → 檢查 Response Headers 是否含 Content-Encoding: gzip
  • 檢查暫存目錄是否產生 .gz 快取檔案

常見問題排查

現象原因解決
動態頁面未壓縮HcDoDynamicCompression=FALSE 或副檔名未列入檢查 MetaBase 設定、確認 gzip.dll 已允許
靜態檔案未壓縮HcDoStaticCompression=FALSE 或暫存目錄權限不足給 IIS 執行帳戶 (IUSR/IIS_WPG) 暫存目錄寫入權限
壓縮後頁面亂碼/瀏覽器報錯雙重壓縮 (應用層+IIS) 或編碼不匹配關閉應用層壓縮 (如 PHP zlib.output_compression);確認 UTF-8 編碼一致
CPU 飆高壓縮等級過高、高併發動態壓縮降低 HcDynamicCompressionLevel 至 6-7;靜態改用預先壓縮部署

進階建議:生產環境最佳實踐

  • 靜態資源預先壓縮部署:建置流程中對 CSS/JS/HTML 執行 gzip -9,配合 Content-Encoding: gzip 直接服務,零 CPU 壓縮開銷。
  • CDN 邊緣壓縮:讓 CDN 節點處理壓縮,源站只傳原檔或預壓檔。
  • 排除已壓縮格式:圖片 (jpg, png, gif)、影音、字體、壓縮包 (zip, gz) 勿納入壓縮清單,白白浪費 CPU。
  • HTTP/2 + HPACK:若已升級 HTTPS + HTTP/2,標頭壓縮由 HPACK 處理,本體壓縮策略可適度調整。

結語

IIS 6.0 原生 Gzip 功能強大且免費,透過 MetaBase.xml 精細調整可兼顧效能與相容性。配合現代前端建置預壓縮 + CDN 策略,能將頻寬成本降至最低、使用者體驗提升最大。建議納入標準部署 SOP。

Copyright © Windows教程網 All Rights Reserved