[IIS]設定IIS的Http壓縮,為何沒有效果呢?

設定IIS的Http壓縮,為何沒有效果呢? 原來是Proxy不Support呀!

環境:IIS6, ASP.NET

最近跟同事在看網頁效能的問題,用「HttpWtach」來看,發現Receive的時間很長,如下,

image

 

看到網頁的Size也很大,於是建議使用IIS Http壓縮的功能來降底網路傳輸的影響。

依「How to enable HTTPCompression in IIS6」這篇文章來啟用壓縮,在公司的VM上測試都OK,但在客戶那設定好了之後,從公司連過去測試,卻都一直不OK!!!

有錄到Client明明就有送出「Accept-Encoding: gzip,deflate」,但Response的Header中,就是沒有「Content-Encoding: gzip」。

但是在客戶的Local測試,Response的Header中,就會有「Content-Encoding: gzip 」。

於是跟同事去找MIS詢問有可能是那裡的問題,後來MIS Garry說我們公司用的Proxy不Support gzip壓縮,所以雖然我們的電腦Support,但透過Proxy它就沒辦法壓縮了!

所以MIS就先設定客戶的IP不走Proxy,再來測試就OK了!

所以如果是測試外面的網頁壓縮的話,也要Check一下Proxy是否有Support壓縮哦!

 

在啟用IIS Http壓縮後,網頁的Size變小了,速度也有明顯的變快了!

另外,要考量的是Server會花資源去做壓縮,而Client在接到壓縮的資料,也要花資源去解壓縮哦!

 

參考資料

How to enable HTTPCompression in IIS6

Making the most out of IIS compression

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^