|
IIS 的 GZIP 壓縮
1.首先備份 IIS 的配置文件, 復(fù)制 C:/Windows/system32/iNETsrv/metabase.xml到另外的備份文件夾中. C:/Windows/system32/iNETsrv/metabase.xml是 IIS 的核心配置文件,該文件的完整性一但被破壞,IIS 將無法正常運行,嚴(yán)重到需要重新安裝系統(tǒng).
2. 在開始菜單中啟動 InterNET 信息服務(wù)(IIS)管理器,右鍵點擊“網(wǎng)站”屬性,打開“服務(wù)”選項卡,勾選“HTTP 壓縮”的兩個選項。“臨時目錄”和“臨時目錄最大容量”可根據(jù)需要自行設(shè)置。設(shè)置完成后點擊確定。
3. 右鍵點擊“網(wǎng)站”下方的 “Web服務(wù)擴展”,添加一個新的Web服務(wù)擴展,擴展名填寫為“HTTP Compression”或其他,都可以。“要求的文件”添加:c:/windows/system32/iNETsrv/gzip.dll ,并勾選“設(shè)置擴展?fàn)顟B(tài)為允許”,完成后點擊確定。
4.下面的步驟有些復(fù)雜,如果沒有確定的把握能理解,最好不要嘗試,右鍵點擊“InterNET 信息服務(wù)的”“本地計算機”屬性,勾選“允許直接編輯配置數(shù)據(jù)庫”并確定。
5. 在開始菜單中運行 notepad C:/Windows/system32/iNETsrv/metabase.xml ,打開metabase.xml 文件,請在任何改動前再次確認(rèn)該文件已經(jīng)備份。
6. 用文本編輯器打開metabase.xml ,用查找功能找到“IIsCompressionScheme”,共有3處,都在一起,分別是deflate、gzip和Parameters,deflate也是一種壓縮格式,不過性能上不如gzip。需要修改的是deflate和gzip這兩段,參數(shù)基本一樣,都要修改。
HcDynamicCompressionLevel是用來設(shè)置壓縮率,默認(rèn)是0,最高是10。低壓縮級別生成稍大一些的壓縮文件,但對 CPU 和內(nèi)存資源的總體影響較小。高壓縮級別通常會生成較小的壓縮文件,但會占用較多的 CPU 時間和內(nèi)存。有人說設(shè)置成9性價比最高。
HcFileExtensions是用來設(shè)置壓縮的靜態(tài)文件擴展名,默認(rèn)是htm、html、txt,根據(jù)網(wǎng)站的自身情況添加擴展名,最基本的是js、css。添加時注意原有的換行格式。
HcScriptFileExtensions是用來設(shè)置壓縮的動態(tài)文件擴展名,默認(rèn)是ASP、dll和exe,根據(jù)需要自行添加擴展名,無外乎ASPx、php等。可以將這一項的默認(rèn)刪除留空,這樣所有的動態(tài)響應(yīng)都以壓縮方式發(fā)送。另外,還將動態(tài)壓縮 HcFileExtensions 中所有未指定的靜態(tài)文件類型,并且因此不將它們放入緩存。同樣地,必須將 HcDoDynamicCompression 設(shè)置為 true,以進(jìn)行動態(tài)壓縮。
php Gzip
復(fù)制代碼 代碼如下:
/*
* 壓縮數(shù)據(jù)
*/
public static function ob_gzip($content) // $content 就是要壓縮的頁面內(nèi)容,或者說餅干原料
{
if( !headers_sent() && // 如果頁面頭部信息還沒有輸出
extension_loaded("zlib") && // 而且zlib擴展已經(jīng)加載到php中
strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")) //而且瀏覽器說它可以接受GZIP的頁面
{
$content = gzencode($content." OK",9); //此頁已壓縮”的注釋標(biāo)簽,然后用zlib提供的gzencode()函數(shù)執(zhí)行級別為9的壓縮,這個參數(shù)值范圍是0-9,0表示無壓縮,9表示最大壓縮,當(dāng)然壓縮程度越高越費CPU。
//然后用header()函數(shù)給瀏覽器發(fā)送一些頭部信息,告訴瀏覽器這個頁面已經(jīng)用GZIP壓縮過了!
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content; //返回壓縮的內(nèi)容,或者說把壓縮好的餅干送回工作臺。
}
php技術(shù):IIS6.0 開啟Gzip方法及PHP Gzip函數(shù)分享,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。