HTTP壓縮工作原理

一. HTTP壓縮概述

HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮採用通用的壓縮算法如gzip等壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網絡傳輸的數據量,從而提高客戶端瀏覽器的訪問速度。當然,同時也會增加一點點服務器的負擔。Gzip是比較常見的一種HTTP壓縮算法。

本文介紹的HTTP壓縮方式,採用的是Windows系統設置的方式,優點是效率較高。


二. HTTP壓縮工作原理

Web服務器處理HTTP壓縮的工作原理如下:

Web服務器接收到瀏覽器的HTTP請求後,檢查瀏覽器是否支持HTTP壓縮;
如果瀏覽器支持HTTP壓縮,Web服務器檢查請求文件的後綴名;
如果請求文件是HTML、CSS等靜態文件,Web服務器到壓縮緩衝目錄中檢查是否已經存在請求文件的最新壓縮文件;
如果請求文件的壓縮文件不存在,Web服務器向瀏覽器返回未壓縮的請求文件,並在壓縮緩衝目錄中存放請求文件的壓縮文件;
如果請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
如果請求文件是ASPX等動態文件,Web服務器動態壓縮內容並返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。


三. IIS 6.0中配置HTTP Gzip壓縮的步驟:

1) 打開Internet信息服務(IIS)管理器,右擊"網站"->"屬性",選擇"服務"。在"HTTP壓縮"框中選中"壓縮應用程序文件"和"壓縮靜態文件",按需要設置"臨時目錄"和"臨時目錄的最大限制";

2) 在Internet信息服務(IIS)管理器,右擊"Web服務擴展"->"增加一個新的Web服務擴展...",在"新建Web服務擴展"框中輸入擴展名"HTTPCompression",添加"要求的文件"爲C:/WINDOWS/system32/inetsrv/gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中"設置擴展狀態爲允許";

3) 使用文本編輯器打開C:/Windows/System32/inetsrv/MetaBase.xml(建議先備份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要壓縮動態文件,則將HcDoDynamicCompression設置爲"TRUE",並在HcScriptFileExtensions中增加您要壓縮的動態文件後綴名,如aspx;如果需要壓縮靜態文件,則將HcDoStaticCompression和HcDoOnDemandCompression設置爲"TRUE",並在HcFileExtensions中增加您需要壓縮的靜態文件後綴名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數字越小壓縮率越低;

4) 編輯完畢後保存MetaBase.xml文件;如果文件無法保存,則可能IIS正在使用該文件。打開"開始"->"管理工具"->"服務",停止"IIS Admin Service"後,即可保存;

5) 最後,重新啓動IIS。可以到HTTP壓縮測試網站驗證結果。

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章