Apache キャッシュを設定してファイル転送する

目次

(確認環境:XAMPP 7.3.6、Apache 2.4.39、Windows 10)

概要

Apacehにキャッシュの設定を行い、キャッシュが使用されることを確認します。

index.phpがキャッシュする対象のファイルです。中身はテキストのみです。
D:\xampp\htdocs\phptest\index.php

行うこと

1..htaccessファイルを作成しmod_expiresを記述します。

2.httpd.confファイルを修正します。

3.ブラウザのChromeで表示してファイルの転送結果を確認します。

 

キャッシュとは?

ブラウザが表示したWebページのファイルをローカルに保存します。
ページを再表示する際、サーバーからファイルを取得するのではなくローカルのファイルを表示するので表示が早くなります。

 

XAMPPの環境です。
XAMPP インストールとHello Worldを表示

 

.htaccessファイルを作成する(mod_expires)

.htaccessファイルを新規作成しますが、Windowsのエクスプローラーからだと、先頭がドットで拡張子がないファイルを作成できません。

そのため、一旦ファイルを作成した後、DOSプロンプトでファイル名を変更します。

D:\xampp\htdocs\phptest>ren htaccess .htaccess

renは、ファイル名を変更するコマンドです。

 

作成した.htaccessファイルに以下を追加します。

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/html "access plus 1 hour"
</ifModule>

キャッシュの時間を1時間で設定しています。expireは、期限が切れるという意味です。

 

httpd.confファイルを修正する

httpd.confのmod_expires.soのコメント(#)を外します。

LoadModule expires_module modules/mod_expires.so

 

Chromeでファイルの転送結果を確認する

ブラウザのGoogle Chromeでファイルの転送結果を確認します。
Chromeを立ち上げNetworkタブを開きます。

Networkタブの表示方法は以下を参照願います。
Google Chrome Networkタブの見方(フィルサイズ/表示時間)

設定前

設定前のResponse Headresです。Cacheに関する項目は表示されていません。

設定後

設定後のResponse Headresです。

Cache-Control: max-age=3600が追加されています。3600は秒で、設定した1時間を表します。

Expiresの項目も追加されています。期限が切れる日時です。
1つ上のDateの1時間後が設定されています。(dateは、14:30でExpiresは15:30)

設定変更時に必要なこと

ファイルを書き換える設定をした場合は、Apacheを再起動します。

 

関連の記事

Apache logrotateのログローテーションの設定
Apache gzipでファイルを圧縮して転送する

△上に戻る