IIS6.0 GzipメソッドとPHP Gzip関数の共有を開く

2492 ワード

IISのGZIP圧縮
1.まずIISのプロファイルをバックアップし、C:Windowssystem 32inetsrvmetabaseをコピーする.xmlは別のバックアップフォルダに格納.   C:\Windows\system32\inetsrv\metabase.xmlはIISのコアプロファイルであり、このファイルの整合性は破壊されると、IISは正常に動作せず、システムの再インストールが必要になるほど深刻である.
2.スタートメニューからインターネット情報サービス(IIS)マネージャを起動し、「サイト」属性を右クリックし、「サービス」タブを開き、「HTTP圧縮」の2つのオプションをチェックする.一時ディレクトリと一時ディレクトリの最大容量は、必要に応じて設定できます.設定が完了したら「OK」をクリックします.
3.「Webサイト」の下の「Webサービス拡張」を右クリックし、新しいWebサービス拡張を追加します.拡張子は「HTTP Compression」またはその他と記入してください.「要求ファイル」追加:c:windowssystem 32inetsrvgzip.dll、「拡張状態を許可に設定」にチェックマークを付け、完了したら「OK」をクリックします.
4.次の手順は少し複雑で、確定的な把握がなければ理解できるので、やってみないほうがいい.「インターネット情報サービスの」「ローカルコンピュータ」の属性を右クリックし、「構成データベースの直接編集を許可する」をチェックして確定する.
5.スタートメニューでnotepad C:Windowssystem 32inetsrvmetabaseを実行する.xml、metabaseを開きます.xmlファイルは、変更する前にバックアップされていることを確認してください.
6.テキストエディタでmetabaseを開く.xmlは、検索機能で「IIsCompressionScheme」を見つけ、全部で3カ所あり、それぞれdeflate、gzip、Parametersであり、deflateも圧縮形式であるが、性能的にはgzipに及ばない.修正する必要があるのはdeflateとgzipの2つのセグメントで、パラメータは基本的に同じで、すべて修正します.
HcDynamicCompressionLevelは圧縮率を設定するために使用され、デフォルトは0、最大は10です.低圧縮レベルではやや大きな圧縮ファイルが生成されますが、CPUとメモリリソースの全体的な影響は小さくなります.高圧縮レベルでは、通常、より小さな圧縮ファイルが生成されますが、CPUの時間とメモリがかかります.9性価格比が最も高いという人もいる.
HcFileExtensionsは圧縮を設定するための静的ファイル拡張子で、デフォルトはhtml、html、txtであり、サイト自体の状況に応じて拡張子を追加し、最も基本的なのはjs、cssである.追加するときは、既存の改行形式に注意してください.
HcScriptFileExtensionsは圧縮を設定する動的ファイル拡張子で、デフォルトはasp、dll、exeであり、必要に応じて独自に拡張子を追加し、aspx、phpなどにほかならない.このデフォルトの削除を空にすると、すべてのダイナミックレスポンスが圧縮されて送信されます.また、HcFileExtensionsで指定されていないすべての静的ファイルタイプを動的に圧縮し、キャッシュに入れません.同様に、動的圧縮のためにHcDoDynamicCompressionを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; // , 。
}