現(xiàn)代的瀏覽器IE6和Firefox都支持客戶端Gzip,也就是說,在服務(wù)器上的網(wǎng)頁,傳輸之前,先使用Gzip壓縮再傳 輸給客戶端,客戶端接收之后由瀏覽器解壓顯示,這樣雖然稍微占用了一些服務(wù)器和客戶端的CPU,但是換來的是更高的帶寬利用率。對于純文本來講,壓縮率是 相當(dāng)可觀的。如果每個用戶節(jié)約50%的帶寬,那么你租用來的那點帶寬就可以服務(wù)多一倍的客戶了。二此功能在IIS6.0得到了集成,但是并沒有提供一個很 好的接口來操作。
一. HTTP壓縮概述
HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶端瀏覽器的訪問速度。當(dāng)然,同時也會增加一點點服務(wù)器的負(fù)擔(dān)。Gzip是比較常見的 一種HTTP壓縮算法。
二. HTTP壓縮工作原理
Web服務(wù)器處理HTTP壓縮的工作原理如下:
Web服務(wù)器接收到瀏覽器的HTTP請求后,檢查瀏覽器是否支持HTTP壓縮;
如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請求文件的后綴名;
如果請求文件是HTML、CSS等靜b文件,Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請求文件的最新壓縮文件;
如果請求文件的壓縮文件不存在,Web服務(wù)器向瀏覽器返回未壓縮的請求文件,并在壓縮緩沖目錄中存放請求文件的壓縮文件;
如果請求文件的最新壓縮文件已經(jīng)存在,則直接返回請求文件b壓縮文件;
如果請求文件是ASPX等動態(tài)文件,Web服務(wù)器動態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。
在網(wǎng)上找過很多的資料,gzip對搜索引擎Seo不會有影響,并且Baidu也明確表示可以解析Gzip數(shù)據(jù)。
我們用站長站的工具來檢測一下網(wǎng)鈦官網(wǎng)在Gzip以后的效果:
http://tool.chinaz.com/Gzips/

不過注意 GZIP一般只對 Html 呂嗟奈謀居行Ч,而對已經(jīng)壓縮過了的圖片如 gif,jpg 等是沒有效果的。
下面我們來一步一步教大家如何打開IIS的Gzip
1. 停止IIS服務(wù),右擊“本地計算機(jī)”--》所有任務(wù)--》重新啟動IIS孿呂選擇“停止Internet服務(wù)”,再點擊“確定”;


2. 在Internet信息服務(wù)(IIS)管理器,右擊“Web服務(wù)擴(kuò)展”-》“增加一個新的Web服務(wù)擴(kuò)展。。.”,在“新建Web服務(wù)擴(kuò)展”框中輸入擴(kuò)展名“Gzip”,添加“要求的文件”為C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統(tǒng)目錄根據(jù)您的安裝可I有所不同,選中“設(shè)置擴(kuò)展?fàn)顟B(tài)為允許”;



3. 打開Internet信息服務(wù)(IIS)管理器,右擊“網(wǎng)站”-》“屬性”,選擇“服務(wù)”。在“HTTP壓縮”框中選中“壓縮應(yīng)用程序文件”和“壓縮靜態(tài)文件”,按需要設(shè)置“臨時目錄”和“臨時目錄的最大限制”;


4. 此時重啟IIS,壓縮就生效了,設(shè)置完成。但是默認(rèn)設(shè)置壓縮的文件格式太少,可以進(jìn)一步設(shè)置 即先不要重啟IIS,即跳過第4步,操作第5步。
5. 修改 MetaBase.xml,建議先備份。
可以用記事本打開,找到 IIsCompressionScheme,有三個相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本 相同的參數(shù)
HcDynamicCompressionLevel ,設(shè)置壓縮率,取值0~10,0不壓縮,10最高壓縮率,這里設(shè)置成9,9是性價比最高的一個。
HcFileExtensions,需要壓縮的靜態(tài)文件擴(kuò)展名,默認(rèn)只有htm,html,txt,可以把js,css,xml添加進(jìn)去。建議按原來的格式,用換行作為分隔。 HcScriptFileExtensions,需要壓縮的動態(tài)文件擴(kuò)展名,如添加php,aspx。

6、保存MetaBase.xml,重啟IIS,即設(shè)置OK。

