一. HTTP壓縮概述
HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶端瀏覽器的訪問速度。當然,同時也會增加一點點服務(wù)器的負擔。Gzip是比較常見的一種HTTP壓縮算法。
本文介紹的HTTP壓縮方式,采用的是Windows系統(tǒng)設(shè)置的方式,優(yōu)點是效率較高。
二. HTTP壓縮工作原理
Web服務(wù)器處理HTTP壓縮的工作原理如下:
Web服務(wù)器接收到瀏覽器的HTTP請求后,檢查瀏覽器是否支持HTTP壓縮;
如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請求文件的后綴名;
如果請求文件是HTML、CSS等靜態(tài)文件,Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請求文件的最新壓縮文件;
如果請求文件的壓縮文件不存在,Web服務(wù)器向瀏覽器返回未壓縮的請求文件,并在壓縮緩沖目錄中存放請求文件的壓縮文件;
如果請求文件的最新壓縮文件已經(jīng)存在,則直接返回請求文件的壓縮文件;
如果請求文件是ASPX等動態(tài)文件,Web服務(wù)器動態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。
三. IIS 6.0中配置HTTP Gzip壓縮的步驟:
1) 打開Internet信息服務(wù)(IIS)管理器,右擊"網(wǎng)站"->"屬性",選擇"服務(wù)"。在"HTTP壓縮"框中選中"壓縮應(yīng)用程序文件"和"壓縮靜態(tài)文件",按需要設(shè)置"臨時目錄"和"臨時目錄的最大限制";
2) 在Internet信息服務(wù)(IIS)管理器,右擊"Web服務(wù)擴展"->"增加一個新的Web服務(wù)擴展...",在"新建Web服務(wù)擴展"框中輸入擴展名"HTTPCompression",添加"要求的文件"為C:\WINDOWS\system32\inetsrv\gzip.dll,其中 Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,選中"設(shè)置擴展狀態(tài)為允許";
3) 使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要壓縮動態(tài)文件,則將 HcDoDynamicCompression設(shè)置為"TRUE",并在HcScriptFileExtensions中增加您要壓縮的動態(tài)文件后綴名,如aspx;如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和HcDoOnDemandCompression設(shè)置為 "TRUE",并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如xml、css等; HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)字越小壓縮率越低;
4) 編輯完畢后保存MetaBase.xml文件;如果文件無法保存,則可能IIS正在使用該文件。打開"開始"->"管理工具"->"服務(wù)",停止"IIS Admin Service"后,即可保存;
5) 最后,重新啟動IIS?梢缘紿TTP壓縮測試網(wǎng)站驗證結(jié)果。