Apacheのgzipでファイルを圧縮して転送するサンプルです。
確認環境 ・XAMPP 7.3.6 ・Apache 2.4.39 ・Windows 10 |
目次
ファイルを圧縮 | 環境 |
.htaccessファイルを作成する(mod_filter,mod_deflate) | |
httpd.confファイルを修正する | |
Chromeでファイルの転送結果を確認する |
環境
Apacehの環境に.htaccessファイルを配置し、gzipでファイルが圧縮されて転送されることを確認します。
index.phpが圧縮する対象のファイルです。中身はテキストのみです。
D:\xampp\htdocs\phptest\index.php
XAMPPの環境です。
XAMPP インストールとHello Worldを表示
.htaccessファイルを作成する
.htaccessファイルを新規作成しますが、Windowsのエクスプローラーからだと、先頭がドットで拡張子がないファイルを作成できません。
そのため、一旦ファイルを作成した後、DOSプロンプトでファイル名を変更します。
D:\xampp\htdocs\phptest>ren htaccess .htaccess
renは、ファイル名を変更するコマンドです。
作成した.htaccessファイルに以下を追加します。
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
</IfModule>
deflateは、空気を抜く、しぼませるという意味です。
httpd.confファイルを修正する(mod_filter,mod_deflate)
httpd.confのmod_filterとmod_deflateのコメント(#)を外します。
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
mod_filter.soのコメントを外していない場合、Apacheのerror.logに以下が出力されます。
[core:alert] [pid 13528:tid 1896] [client ::1:52339] D:/xampp/htdocs/phptest/.htaccess: Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration |
ログの場所
Apacheのerror.logは、apacheフォルダのlogsフォルダ配下にあります。
D:\xampp\apache\logs
Chromeでファイルの転送結果を確認する
ブラウザのGoogle Chromeでファイルの転送結果を確認します。
Chromeを立ち上げNetworkタブを開きます。
Networkタブの表示方法は以下を参照願います。
Google Chrome Networkタブの見方(フィルサイズ/表示時間)
設定前
設定前のResponse Headresです。ConnectionとContent-Lengthの間に、Content-Encodingはありません。
設定後
設定後のResponse Headresです。ConnectionとContent-Lengthの間に、Content-Encoding:gzipがあります。gzipが設定されたことを確認できました。
転送容量の確認
Sizeは転送容量です。上段が圧縮後の容量で535Bです。
下段は、圧縮前の容量で10.9KBです。圧縮されていることが確認できました。
設定変更時に必要なこと
ファイルを書き換える設定をした場合は、Apacheを再起動します。
関連の記事