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

IIS 啟用 Gzip 壓縮 (HTTP 壓縮) 完整教學

編輯:關於伺服器

摘要

本文詳細說明如何為 IIS 託管網站啟用 Gzip 壓縮,減少網頁傳輸體積,顯著提升使用者瀏覽速度。

HTTP 壓縮概述

HTTP 壓縮在 Web 伺服器與瀏覽器間傳輸壓縮後的文字內容 (HTML、JavaScript、CSS),採用 gzip 等通用演算法。最大優點為降低網路傳輸資料量,提升客戶端存取速度,代價為微量增加伺服器負擔。

運作原理

  1. 伺服器收到請求,檢查瀏覽器 HTTP 標頭 Accept-Encoding: gzip, deflate 判斷支援度。
  2. 檢查請求檔案副檔名是否在壓縮清單中 (靜態檔對應 HcFileExtensions,動態檔對應 HcScriptFileExtensions,均在 MetaBase.xml 設定)。
  3. 靜態檔案:檢查壓縮快取目錄是否存在最新壓縮檔;不存在則回傳未壓縮檔案並產生壓縮檔快取;存在則直接回傳壓縮檔。
  4. 動態檔案 (如 ASPX):即時壓縮內容回傳,不寫入快取目錄。

IIS 啟用步驟

1. IIS 管理員基本設定

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

2. (可略過) Web 服務擴展設定

經測試此步驟在部分環境無效,可忽略。若需嘗試:右鍵「Web 服務擴展」→「新增 Web 服務擴展」,名稱「HTTP Compression」,檔案指向 C:\WINDOWS\system32\inetsrv\gzip.dll,允許擴展。

3. 修改 MetaBase.xml (核心步驟)

備份後用文字編輯器開啟 C:\Windows\System32\inetsrv\MetaBase.xml,找到 Location ="/LM/W3SVC/Filters/Compression/gzip" 與 deflate 節點。關鍵屬性設定如下:

  • HcDoDynamicCompression="TRUE" — 啟用動態壓縮
  • HcDoStaticCompression="true" — 啟用靜態壓縮
  • HcDoOnDemandCompression="TRUE" — 啟用隨選壓縮
  • HcDynamicCompressionLevel="9" / HcOnDemandCompLevel="9" — 壓縮等級 9 (最佳性價比)
  • HcFileExtensions="htm html txt js css swf xml" — 靜態檔副檔名
  • HcScriptFileExtensions="asp aspx dll exe" — 動態檔副檔名

範例節點:

<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"
    HcOnDemandCompLevel="9"
    HcPriority="1"
    HcScriptFileExtensions="asp aspx dll exe"
/>

4. 儲存與重啟

  1. 若無法儲存,停止「IIS Admin Service」服務後再儲存。
  2. 重新啟動 IIS (iisreset)。

驗證結果

  • HTTP 標頭出現 Content-Encoding: gzip 即代表成功。
  • YSlow 檢測:僅啟用靜態壓縮評級 B,同時啟用動態壓縮評級 A。
  • 實測 jQuery (57KB) 壓縮後 20KB,jQuery UI (188KB) 壓縮後 45KB。

關鍵重點總結

  1. 修改 MetaBase.xml 必須先停止 IIS Admin Service。
  2. 壓縮等級建議設 9。
  3. 步驟 2 (Web 服務擴展) 可省略。
  4. 壓縮等級對 JS 檔案大小影響不大;圖片檔啟用 Gzip 體積不變。
Copyright © Windows教程網 All Rights Reserved