ホームページ >運用・保守 >Linuxの運用と保守 >Apache で GZIP 圧縮を有効にする方法

Apache で GZIP 圧縮を有効にする方法

小云云
小云云オリジナル
2018-03-05 09:50:242107ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。