如何開啟IIS的HTTP Compression

如何簡單的開啟多台IIS HTTP Compression功能,又馬上啟用?
其實非常簡單…只是在checkbox下點一下即可。(如果要限制temp的目錄會需要多一點點設定)
設定方式可以參考MS這篇文章 !!

原以為這樣設定,在restart iis後即可生效…沒想到,內訂的暫存目錄,怎麼試都沒有暫存的壓縮檔!(實際測試也沒生效)想了想,實在不解,只好再用google找答案。發現有人說,要先自己建立Web服務擴展"框中輸入副檔名"HTTP Compression",對應的檔案為為C:\WINDOWS\system32\inetsrv\gzip.dll。也不知是巧合?暫存目錄下,果真有幾個壓縮檔案了…但,觀察一陣子,卻沒多少變化!只好在到MS官方網站找資料!才又注意到有篇在講內訂壓縮的附檔名文章

後續看了MS官方的相關文章,整理一下…發現根本不需要設定"Web服務擴展"。只要增加了要壓縮的附檔名後,IIS就會依照設定的附檔名去處理。於是,照我所需要壓縮的檔案,寫了下列bat檔案。如此,就可以很快的設定所有IIS都開啟HTTP Compression,並馬上生效~
@echo off
rem 備份
copy C:\Windows\System32\inetsrv\MetaBase.xml C:\Windows\System32\inetsrv\MetaBase_bakcup.xml
rem 跳到 adsutil.vbs所在位置(下列為defult目錄)
cd C:\Inetpub\AdminScripts
c:
rem 啟用動態壓縮
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
rem 啟用靜態壓縮
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

rem 設定靜態網頁(視需要自行增減)
cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions "htm" "html" "txt" "css" "js" "doc" "xls" "jpg" "gif"
cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions "htm" "html" "txt" "css" "js" "doc" "xls" "jpg" "gif"

rem 設定動態網頁(視需要自行增減)
rem cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions "asp"
rem cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions "asp"

rem 重新啟動IIS,讓設定生效
net stop w3svc
net start w3svc

附註:
  • 要確認設定是否有效?或壓縮率有多少?可以到 port80software 做個測試報告!
  • 如果仔細看,網頁上的圖,出現的速度會比沒壓縮稍微慢一點…但是,僅限於第一次下載圖檔時!

留言