資源描述:
《網(wǎng)站加速方法之IIS上啟用Gzip壓縮.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、一.摘要本文總結(jié)了如何為使用IIS托管的網(wǎng)站啟用Gzip壓縮,從而減少網(wǎng)頁(yè)網(wǎng)絡(luò)傳輸大小,提高用戶(hù)顯示頁(yè)面的速度.二.前言.本文的知識(shí)點(diǎn)是從互聯(lián)網(wǎng)收集整理,主要來(lái)源于中文wiki.使用YSlow檢測(cè)網(wǎng)站啟用了哪些優(yōu)化時(shí),Gzip是十分關(guān)鍵的一項(xiàng).啟動(dòng)Gip壓縮將立竿見(jiàn)影的減少頁(yè)面的網(wǎng)絡(luò)傳輸大小.三.HTTP壓縮概述HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提
2、高客戶(hù)端瀏覽器的訪問(wèn)速度。當(dāng)然,同時(shí)也會(huì)增加一點(diǎn)點(diǎn)服務(wù)器的負(fù)擔(dān)。Gzip是比較常見(jiàn)的一種HTTP壓縮算法。四.HTTP壓縮工作原理Web服務(wù)器處理HTTP壓縮的工作原理如下:1.Web服務(wù)器接收到瀏覽器的HTTP請(qǐng)求后,檢查瀏覽器是否支持HTTP壓縮;在用戶(hù)瀏覽器發(fā)送請(qǐng)求的HTTP頭中,帶有"Accept-Encoding:gzip,deflate"參數(shù)則表明支持gzip和deflate兩種壓縮算法.2.如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請(qǐng)求文件的后綴名;靜態(tài)文件和動(dòng)態(tài)文件后綴啟動(dòng)要所都需要在Met
3、aBase.xml中設(shè)置.靜態(tài)文件需要設(shè)置:HcFileExtensionsMetabaseProperty(單擊跳轉(zhuǎn)到MSDN說(shuō)明)動(dòng)態(tài)文件需要設(shè)置:HcScriptFileExtensionsMetabaseProperty(單擊跳轉(zhuǎn)到MSDN說(shuō)明)3.如果請(qǐng)求文件是HTML、CSS等靜態(tài)文件并且文件后綴啟用了壓縮,則Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請(qǐng)求文件的最新壓縮文件;4.如果請(qǐng)求文件的壓縮文件不存在,Web服務(wù)器向?yàn)g覽器返回未壓縮的請(qǐng)求文件,并在壓縮緩沖目錄中存放請(qǐng)求文件的壓縮文件;5.
4、如果請(qǐng)求文件的最新壓縮文件已經(jīng)存在,則直接返回請(qǐng)求文件的壓縮文件;6.如果請(qǐng)求文件是ASPX等動(dòng)態(tài)文件并且文件后綴啟用了壓縮,Web服務(wù)器動(dòng)態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。五.在IIS中啟用HTTP壓縮IIS默認(rèn)并不支持HTTP壓縮,需要進(jìn)行簡(jiǎn)單的配置1.打開(kāi)Internet信息服務(wù)(IIS)管理器,右擊"網(wǎng)站"->"屬性",選擇"服務(wù)"。在"HTTP壓縮"框中選中"壓縮應(yīng)用程序文件"和"壓縮靜態(tài)文件",按需要設(shè)置"臨時(shí)目錄"和"臨時(shí)目錄的最大限制";2.提醒:經(jīng)試驗(yàn)此步驟在本人機(jī)器上
5、沒(méi)有作用,可以忽略.在Internet信息服務(wù)(IIS)管理器,右擊"Web服務(wù)擴(kuò)展"->"增加一個(gè)新的Web服務(wù)擴(kuò)展...",在"新建Web服務(wù)擴(kuò)展"框中輸入擴(kuò)展名"HTTPCompression",添加"要求的文件"為C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,選中"設(shè)置擴(kuò)展?fàn)顟B(tài)為允許";3.使用文本編輯器打開(kāi)C:WindowsSystem32inetsrvMetaBase.xml(建議先備份),找到Location
6、="/LM/W3SVC/Filters/Compression/gzip用于設(shè)置gzip壓縮,找到Location="/LM/W3SVC/Filters/Compression/deflate"用于設(shè)置deflate壓縮.上面兩個(gè)節(jié)點(diǎn)緊挨著.并且設(shè)置的屬性相同.如果需要壓縮動(dòng)態(tài)文件,則將HcDoDynamicCompression設(shè)置為"TRUE",并在HcScriptFileExtensions中增加您要壓縮的動(dòng)態(tài)文件后綴名,如aspx;如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和
7、HcDoOnDemandCompression設(shè)置為"TRUE",并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)值在0-10,默認(rèn)為0.HcDynamicCompressionLevel屬性說(shuō)明:HcDynamicCompressionLevelMetabasePropertyHcOnDemandCompLevel屬性說(shuō)明:HcOnDemandCompLev
8、elMetabaseProperty說(shuō)明:這兩個(gè)屬性值一般推薦設(shè)置為9,具有最佳性?xún)r(jià)比.但是在我的windowserver2003上,壓縮率無(wú)論如何設(shè)置,jQuery和jQueryUI兩個(gè)文件(58k/188k)壓縮后的大小一直相同.(20k/45k).下面是我的實(shí)例:Xml代碼1.