啟用動態壓縮後,有時生效 (回傳 Content-Encoding: gzip),有時不生效 (無壓縮標頭),無固定規律。
IIS 並非對所有回應都壓縮,有內建啟發式閾值:
# 管理員 PowerShell
Install-WindowsFeature Web-Dyn-Compression
# 或「伺服器管理員」→ 功能 → 動態內容壓縮
<system.webServer>
<urlCompression doDynamicCompression="true" />
<httpCompression
directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"
minFileSizeForComp="1024" > <!-- 降低最小檔案大小 -->
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
</httpCompression>
</system.webServer>
COMPRESSION_DISABLED、COMPRESSION_SUCCESS 事件。百度經驗詳細圖文教學:IIS7 開啟壓縮無效解決辦法