IIS 6.0オープンGzip方法とPHP Gzip関数共有

2552 ワード

IISのGZIP圧縮                                                                       
1.まずIISのプロファイルをバックアップし、C:\Windows\system 32\inetsrv\metabase.xmlを別のバックアップフォルダにコピーします。   C:\Windows\system 32\inetsrv\metabase.xmlはIISのコアコンフィギュレーションファイルですが、このファイルの整合性が壊れてしまい、IISが正常に動作しなくなり、システムの再インストールが必要になります。
2.スタートメニューでInternet情報サービス(IIS)マネージャを起動し、右ボタンで「ウェブサイト」の属性をクリックし、「サービス」タブを開き、「HTTP圧縮」の二つのオプションをチェックする。一時ディレクトリと一時ディレクトリの最大容量は必要に応じて設定できます。設定が完了したらクリックして確定します。
3.「ウェブサイト」の下の「Webサービス拡張」を右クリックして、新しいWebサービスの拡張を追加し、拡張子は「HTTP Copression」または他のものと記入してもいいです。要求されたファイルを追加します。c:\windows\system 32\inetsrv\gzip.dllをチェックして、「拡張状態を設定することを許可とする」を選択して、完成したらクリックして確定します。
4.次のステップは複雑です。確定した自信がないなら理解できます。試しないほうがいいです。右クリックして「インターネット情報サービス」「ローカルコンピュータ」の属性をクリックし、「直接配置データベースの編集を許可する」とチェックして確定します。
5.スタートメニューでnotepad C:\Windows\system 32\inetsrv\metabases.xmlを実行し、metabase.xmlファイルを開いて、変更する前に再度ファイルのバックアップを確認してください。
6.テキストエディタでmetabase.xmlを開いて、検索機能で「IIsCommpressionScheme」を見つけました。全部で3箇所あります。それぞれdeflate、gzep、Parametersです。deflateも圧縮形式ですが、性能はgzipに及ばないです。修正が必要なのはdeflateとgzipの二つです。パラメータは基本的に同じです。全部修正します。
HcDynamic CommpressionLevelは圧縮率を設定するために使用されます。デフォルトは0で、最高は10です。低圧縮レベルではやや大きな圧縮ファイルを生成しますが、CPUとメモリ資源に対する全体的な影響は小さいです。高圧縮レベルは、通常より小さい圧縮ファイルを生成するが、CPU時間とメモリを多く使う。9コストパフォーマンスが一番高いという人がいます。
HcFileExtensionsは圧縮した静的ファイルの拡張子を設定するために用いられています。デフォルトはhttm、html、txtで、ウェブサイトの自身の状況に応じて拡張子を追加します。一番基本的なのはjs、cssです。追加するときは、既存の改行形式に注意します。
HcScript FileExtensionsは圧縮された動的ファイル拡張子を設定するために用いられ、デフォルトはasp、dll、exeであり、必要に応じて自分で拡張子を追加し、aspx、phpなどがない。このオプションのデフォルトの削除は、すべての動的応答が圧縮されて送信されます。また、HcFileExtensにおいて指定されていないすべての静的ファイルタイプを動的に圧縮するので、キャッシュには入れない。同様に、動的圧縮のためにHcDynamicCompprestionをtrueに設定しなければならない。
PHP Gzip 

/*
*
*/
public static function ob_gzip($content) // $content ,
{  
    if(    !headers_sent() && //
        extension_loaded("zlib") && // zlib PHP
        strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")) // GZIP
    {
        $content = gzencode($content." OK",9); // ” , zlib gzencode() 9 , 0-9,0 ,9 , CPU。

        // header() , GZIP !
        header("Content-Encoding: gzip");
        header("Vary: Accept-Encoding");
        header("Content-Length: ".strlen($content));
    }
        return $content; // , 。
}