一. HTTP壓縮概述
HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶端瀏覽器的訪問速度。當然,同時也會增加一點點服務(wù)器的負擔。Gzip是比較常見的一種HTTP 壓縮算法。
現(xiàn)代的瀏覽器IE6和Firefox都支持客戶端Gzip,也就是說,在服務(wù)器上的網(wǎng)頁,傳輸之前,先使用Gzip壓縮再傳輸給客戶端,客戶端接收之后由瀏覽器解壓顯示,這樣雖然稍微占用了一些服務(wù)器和客戶端的CPU,但是換來的是更高的帶寬利用率。對于純文本來講,壓縮率是相當可觀的。如果每個用戶節(jié)約50%的帶寬,那么你租用來的那點帶寬就可以服務(wù)多一倍的客戶了。
二.IIS6 開啟 GZIP功能
首先在“開始菜單”—“管理工具”—打開“Internet 信息服務(wù)(IIS)管理器”;
左側(cè)顯示計算機中IIS列表,在“網(wǎng)站”上右鍵選擇屬性;
打開網(wǎng)站屬性界面,單擊“服務(wù)”標簽,選中“壓縮應(yīng)用程序文件”和“壓縮靜態(tài)文件”,同時根據(jù)情況設(shè)置臨時目錄的最大容量,云主機可以不修改“臨時目錄”位置,但VPS由于C盤大小有限,建議更改臨時文件到D盤等,并根據(jù)硬盤大小定義“最大容量”。
“壓縮應(yīng)用程序文件”為壓縮動態(tài)文件,如:aspx、asp、php、jsp等;
“壓縮靜態(tài)文件”為壓縮動靜態(tài)文件,如:shtm、shtml、js、css、swf、mid、xml、mp3等靜態(tài)文件類型;
返回Internet信息服務(wù)(IIS)管理器,右擊“Web服務(wù)擴展”,彈出Web服務(wù)擴展菜單;選擇“增加一個新的Web服務(wù)擴展(A)”;
在“新建Web服務(wù)擴展”框中輸入擴展名“GZIP”,添加“要求的文件”為C:WINDOWSsystem32inetsrvgzip.dll,其中 Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,選中“設(shè)置擴展狀態(tài)為允許”;
到這一步,我們已經(jīng)基本完成了GZIP的開啟設(shè)置,已經(jīng)能初步實現(xiàn)HTTP壓縮功能。
接下來我們還可以對GZIP設(shè)置進行優(yōu)化,提示壓縮性能。
首先,我們在“運行菜單”中輸入“iisreset –stop”停止IIS服務(wù),然后進行目錄C:WINDOWSsystem32inetsrv,找到MetaBase.xml并用記事本打開該文件(編輯前建議先復(fù)制保留一份該文件到其他目錄)。
搜索并找到 metabase.xml 文件中的<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"片段和<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"片段 ,并對對應(yīng)性等選項進行修改:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%/system32/inetsrv/gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE" ----------默認是”FALSE”,如果需要開啟靜態(tài)壓縮就設(shè)置為"TRUE"
HcDynamicCompressionLevel="0" --------動態(tài)壓縮率“9”性能比最好。默認是0
HcFileExtensions="htm html txt" -------要壓縮的靜態(tài)后綴名,可以添加:shtm、shtml、js、css、swf、mid、xml、mp3等
HcOnDemandCompLevel="10" --------靜態(tài)壓縮率
HcPriority="1"
HcScriptFileExtensions= asp dll exe" -------要壓縮的動態(tài)后綴名,可添加aspx、asp、php、jsp等
>
</IIsCompressionScheme>
注意:“Compression/deflate”和“Compression/gzip”兩個片段都可以修改。動態(tài)壓縮等級,HcDynamicCompressionLevel 建議設(shè)置為“9” 具有最佳性價比。
修改完成后,保存該文件,然后在“運行菜單”輸入:iisreset –start重新啟動IIS服務(wù),并測試GZIP功能是否正常。