Accept-Encoding: gzip, deflateContent-Encoding: gzip,瀏覽器自動解壓渲染效益: 文字類檔案 (HTML, CSS, JS, JSON, XML) 壓縮率通常 70%-90%,大幅降低頻寬、提升首屏載入速度。代價:微増 CPU 負載 (現代 CPU 可忽略)。
D:\IIS_Compression) 與「暫存目錄大小限制」 (視磁碟空間,如 1024 MB)。HTTP CompressionC:\WINDOWS\system32\inetsrv\gzip.dll (路徑視 Windows 安裝目錄調整)⚠ 操作前請備份 C:\Windows\System32\inetsrv\MetaBase.xml
Location ="/LM/W3SVC/Filters/Compression/gzip"| 屬性 | 說明 | 建議值 |
|---|---|---|
| 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 (最高,只壓一次) |
iisreset 完整重啟 IIS。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;靜態改用預先壓縮部署 |
gzip -9,配合 Content-Encoding: gzip 直接服務,零 CPU 壓縮開銷。IIS 6.0 原生 Gzip 功能強大且免費,透過 MetaBase.xml 精細調整可兼顧效能與相容性。配合現代前端建置預壓縮 + CDN 策略,能將頻寬成本降至最低、使用者體驗提升最大。建議納入標準部署 SOP。