Web服務器處理HTTP壓縮的工作原理如下:
1.Web服務器接收到瀏覽器的HTTP請求后,檢查瀏覽器是否支持HTTP壓縮;
在用戶瀏覽器發送請求的HTTP頭中, 帶有"Accept-Encoding: gzip, deflate"參數則表明支持gzip和deflate兩種壓縮算法.2.如果瀏覽器支持HTTP壓縮,Web服務器檢查請求文件的后綴名;
靜態文件和動態文件后綴啟動要所都需要在MetaBase.xml中設置. 靜態文件需要設置: HcFileExtensions Metabase Property (單擊跳轉到VEVB說明) 動態文件需要設置: HcScriptFileExtensions Metabase Property (單擊跳轉到VEVB說明)3.如果請求文件是HTML、CSS等靜態文件并且文件后綴啟用了壓縮,則Web服務器到壓縮緩沖目錄中檢查是否已經存在請求文件的最新壓縮文件;
4.如果請求文件的壓縮文件不存在,Web服務器向瀏覽器返回未壓縮的請求文件,并在壓縮緩沖目錄中存放請求文件的壓縮文件;
5.如果請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
6.如果請求文件是ASPX等動態文件并且文件后綴啟用了壓縮,Web服務器動態壓縮內容并返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。
五. 在IIS中啟用HTTP壓縮 IIS默認并不支持HTTP壓縮,需要進行簡單的配置 1.打開Internet信息服務(IIS)管理器,右擊"網站"->"屬性",選擇"服務"。在"HTTP壓縮"框中選中"壓縮應用程序文件"和"壓縮靜態文件",按需要設置"臨時目錄"和"臨時目錄的最大限制";
2.提醒: 經試驗此步驟在本人機器上沒有作用, 可以忽略. 在Internet信息服務(IIS)管理器,右擊"Web服務擴展"->"增加一個新的Web服務擴展...",在"新建Web服務擴展"框中輸入擴展名"HTTP Compression",添加"要求的文件"為C:/WINDOWS/system32/inetsrv/gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中"設置擴展狀態為允許";
3.使用文本編輯器打開C:/Windows/System32/inetsrv/MetaBase.xml(建議先備份),
找到Location ="/LM/W3SVC/Filters/Compression/gzip用于設置gzip壓縮, 找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于設置deflate壓縮.新聞熱點
疑難解答