首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

IIS 啟用 Gzip/HTTP 壓縮完整指南:大幅降低傳輸量提升載入速度

     編輯:關於ASP.NET

啟用 HTTP 壓縮 (Gzip/Deflate) 是 YSlow/PageSpeed 關鍵優化項目,可**立竿見影減少 60-80% 文字內容傳輸量**,顯著提升頁面載入速度。

HTTP 壓縮工作原理

  1. 瀏覽器請求標頭含 Accept-Encoding: gzip, deflate 表示支援壓縮
  2. IIS 檢查請求檔案副檔名是否在壓縮清單中
  3. 靜態檔案 (HTML/CSS/JS):
    • 檢查壓縮快取目錄是否有最新壓縮檔
    • 無則回傳未壓縮內容,背景產生壓縮檔存入快取
    • 有則直接回傳壓縮檔
  4. 動態檔案 (ASPX/ASHX):
    • 即時壓縮內容回傳,不寫入快取

IIS 6/7 設定步驟

1. IIS 管理器啟用

  • 右鍵「網站」→「屬性」→「服務」頁籤
  • 勾選「壓縮應用程式檔案」與「壓縮靜態檔案」
  • 設定「暫存目錄」與「最大限制」(建議 1-2 GB)

IIS HTTP 壓縮設定介面

2. Metabase.xml 進階設定 (靜態/動態副檔名)

  • 靜態檔案:HcFileExtensions 屬性 (預設 htm, html, txt, css, js 等)
  • 動態檔案:HcScriptFileExtensions 屬性 (預設 aspx, ashx, asmx 等)
  • 需編輯 C:\Windows\System32\inetsrv\MetaBase.xml (備份後修改)

3. IIS 7+ 整合模式 (web.config)

<system.webServer>
  <urlCompression doStaticCompression="true" doDynamicCompression="true" />
  <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <dynamicTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="application/json" enabled="true" />
      <add mimeType="*/*" enabled="false" />
    </dynamicTypes>
    <staticTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="*/*" enabled="false" />
    </staticTypes>
  </httpCompression>
</system.webServer>

驗證壓縮生效

  • 瀏覽器開發工具 Network 標籤 → Response Headers 含 Content-Encoding: gzip
  • 線上工具:HTTP Compression Test

效能權衡

  • 首屏載入明顯加速
  • 頻寬成本降低
  • SEO 排名提升
  • 優點成本
    傳輸量減少 60-80%CPU 使用率略增 (現代 CPU 可忽略)

    HTTP 壓縮是投資報酬率最高的前端優化手段之一,建議所有生產環境啟用。

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved