我想了解如何設置壓縮級別,最近測試了IIS壓縮並對結果感到滿意。最終的結果是將一個196 kb的JSON結果壓縮爲13.6 kb。
下面是我爲自己設置動態壓縮和設置壓縮級別所做的一些說明。我很抱歉,如果他們粗糙,我主要是爲了我自己的未來參考。
此外,我肯定會建議嘗試JSON over XML,因爲它提供了一個更加緊湊的結果。我沒有具體的數字,但我的回憶是,JSON比XMl小了約50%。
安裝動態壓縮如有必要
的Windows 7:
- 打開程序和功能,從開始 - >控制面板>程序和功能控制檯。
- 單擊「打開或關閉Windows功能」。
- 在該對話框中,展開Internet信息服務>萬維網服務>性能功能,然後啓用動態內容壓縮。
- 單擊確定。
的Windows Server 2008:
- 打開服務器管理器開始>所有程序>管理工具>服務器管理器控制檯。
- 在服務器管理器樹視圖中,展開角色,然後單擊Web服務器(IIS)。
- 在主窗口中,向下滾動到角色服務面板,然後單擊添加角色服務。
- 在選擇角色服務對話框中,單擊並啓用Web服務器(安裝)>性能(安裝)>動態內容壓縮。
- 單擊下一步。
- 在確認安裝選擇屏幕上,單擊安裝。
在IIS
- 在IIS管理軟件來實現動態壓縮,選擇服務器,IIS的功能組中,雙擊 「壓縮」。
- 選中「啓用動態內容壓縮」。
啓用 「應用/ JSON」 和 「應用程序/ XML」
- 查找在c applicationHost.config文件:\ WINDOWS \ SYSTEM32 \ inetserv \ CONFIG
- 編輯它,找到httpCompression元素。
- 在
<dynamicTypes>
,添加以下元素:
<add mimeType="application/json" enabled="true" />
<add mimeType="application/xml" enabled="true" />
重新啓動IIS。
要驗證,請檢查Fiddler並確保未選擇「解碼」按鈕(解碼按鈕應位於主工具欄上)。您應該看到的是,響應「內容編碼」標題顯示「gzip的」,並且響應被壓縮:
![enter image description here](https://i.stack.imgur.com/KqZId.png)
高級設置
使用以下命令設置壓縮等級(默認級別爲0):
C:\Windows\System32\Inetsrv\Appcmd.exe
set config -section:httpCompression
-[name='gzip'].staticCompressionLevel:9
-[name='gzip'].dynamicCompressionLevel:4
請訪問以下網站了解更多詳細信息:
Making the most out of IIS compression - Part 1: IIS 7 configuration
IIS 7 Compression. Good? Bad? How much?
我的JSON響應的初步測試:
None: 196,416 bytes
Level 0: 35,234
Level 1: 29,219
Level 4: 18,461
Level 9: 13,638
太棒了 - 謝謝! –