Gzip は、現在、特に Linux プラットフォームで広く使用されている人気のあるファイル圧縮アルゴリズムです。最新のブラウザでは Gzip がデフォルトでサポートされており、Gzip でプレーン テキスト ファイルを圧縮すると、圧縮後のファイル サイズが 70% 以上削減され、ネットワーク上で送信されるバイト数が大幅に削減されます。 Gzip を使用すると、Web ページの読み込み速度が向上し、Web サイトが検索エンジンにとってよりフレンドリーになります。以下では、PHP プログラマーの Lei Xuesong が、Apache が mod_deflate モジュールを使用して Web コンテンツの Gzip 圧縮を実装する方法を詳しく説明します。
ApacheサーバーのHTTPリクエストのGzip処理のプロセス
1. ApacheサーバーはブラウザからHTTPリクエストを受信後、ブラウザがHTTP圧縮(Accept-Encoding情報)をサポートしているかどうかを確認します。
2. ブラウザが HTTP 圧縮をサポートしている場合、Apache サーバーは要求されたファイルのサフィックスをチェックします。
a. リクエストされたファイルが HTML、CSS、JS、画像などの静的ファイルの場合、Apache サーバーはリクエストされたファイルの最新の圧縮ファイルが圧縮バッファ ディレクトリに既に存在するかどうかを確認します。存在する場合は、要求された圧縮ファイルを返し、それを圧縮します。圧縮ファイルがバッファ ディレクトリに保存されている場合は、要求されたファイルの圧縮ファイルが直接返されます。
b. 要求されたファイルが動的ファイルの場合、Web サーバーはコンテンツを動的に圧縮してブラウザに返します。圧縮されたコンテンツは圧縮キャッシュ ディレクトリに保存されません。
Apache は GZIP 圧縮設定をサポートしています
1. http.conf ファイルを編集し、mod_deflate モジュールを有効にします
前にある #LoadModule headers_module modules/mod_headers.so コメントを削除します #
#LoadModule deflate_module modules/mod_deflate を削除します。コメント#
#LoadModule filter_module modules/mod_filter.so を削除します。前のコメント#
2. Gzip 圧縮関連パラメータを設定します
<IfModule mod_deflate.c> #压缩率,6是建议值。 DeflateCompressionLevel 6 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp #排除不需要压缩的文件 BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary </IfModule>
3. Apache サーバーを再起動し、ブラウザリクエストを使用して Gzip が有効かどうかを確認します。 P 関連する推奨事項: h PHP を使用して、サーバーが GZIP 圧縮機能をサポートしているかどうかを確認します。
以上がApache で GZIP 圧縮を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。