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