GZIPは、データの転送サイズを大幅に削減できる広く使用されているファイル圧縮アルゴリズムです。サーバーがGZIP圧縮テクノロジーを有効にすると、サーバーはGZIP形式で返されたコンテンツを圧縮し、ブラウザに送信します。ブラウザが圧縮データを受信すると、自動的に解凍されて表示されます。
ネットワーク伝送では、GZIP圧縮を使用すると、データ送信の量を効果的に削減し、Webページの読み込み速度を大幅に改善し、帯域幅を節約し、ユーザーエクスペリエンスを改善できます。
PHPでは、GZIP圧縮出力にZlib拡張機能を使用できます。 ZLIB拡張は、PHPに組み込みの機能モジュールであり、GZIP形式の圧縮と減圧を実現できます。
まず、PHPの構成ファイル(PHP.INI)でZLIB拡張機能を有効にする必要があります。 php.iniファイルを開き、次の行を見つけます。
; extension = php_zlib.dll
この行の前でセミコロンを削除し、ファイルを保存してPHPサービスを再起動します。
PHPでは、GZIP圧縮出力は、OB_GZHandler関数を使用して開始できます。この関数は、出力バッファーの内容をGZIP形式に圧縮し、クライアントに送信します。
ob_gzhandler関数を使用してGZIP圧縮出力を開始するコード例を次に示します。
ob_start( 'ob_gzhandler');
ob_start()関数を呼び出す場合、gzip圧縮を有効にするために「ob_gzhandler」パラメーターを渡します。後続のすべての出力は、GZIP形式で圧縮されます。
ZLIB拡張を使用してGZIP圧縮出力を実装する方法を示す完全な例を次に示します。
<?php ob_start('ob_gzhandler'); // 開けるGZIP圧縮出力 header('Content-Encoding: gzip'); // 応答ヘッダーを設定します,ブラウザにコンテンツを使用するように通知しますGZIP圧縮 // 输出需要圧縮的内容 echo "これは実行する必要がありますGZIP圧縮出力的内容。"; ob_end_flush(); // バッファコンテンツを出力し、バッファを閉じます ?>
上記のコードは、最初にob_start( 'ob_gzhandler')を介してGZIP圧縮出力を開始します。次に、Header()関数を使用して応答ヘッダーを設定して、返されたコンテンツがGZIP圧縮形式であることをブラウザに通知します。最後に、バッファの内容はob_end_flush()を介して出力され、バッファーは終了します。
PHPのZLIB拡張機能により、GZIP圧縮出力を簡単に実装できるため、データ送信のサイズが縮小され、Webページの読み込み速度が向上します。実際のアプリケーションでは、ウェブサイトの全体的なパフォーマンスとユーザーエクスペリエンスを改善するために、ニーズに応じてGZIP圧縮を有効にするかどうかを選択できます。