本文詳細說明如何為 IIS 託管網站啟用 Gzip 壓縮,減少網頁傳輸體積,顯著提升使用者瀏覽速度。
HTTP 壓縮在 Web 伺服器與瀏覽器間傳輸壓縮後的文字內容 (HTML、JavaScript、CSS),採用 gzip 等通用演算法。最大優點為降低網路傳輸資料量,提升客戶端存取速度,代價為微量增加伺服器負擔。
Accept-Encoding: gzip, deflate 判斷支援度。HcFileExtensions,動態檔對應 HcScriptFileExtensions,均在 MetaBase.xml 設定)。右鍵「網站」→「內容」→「服務」頁籤,勾選「壓縮應用程式檔案」與「壓縮靜態檔案」,設定暫存目錄與大小限制。
經測試此步驟在部分環境無效,可忽略。若需嘗試:右鍵「Web 服務擴展」→「新增 Web 服務擴展」,名稱「HTTP Compression」,檔案指向 C:\WINDOWS\system32\inetsrv\gzip.dll,允許擴展。
備份後用文字編輯器開啟 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"
/>
iisreset)。Content-Encoding: gzip 即代表成功。