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

Apacheのキャッシュを設定してファイル転送するサンプルです。

確認環境
・XAMPP 7.3.6
・Apache 2.4.39
・Windows 10

目次

キャッシュを設定 環境
  .htaccessファイルを作成する(mod_expires)
  httpd.confファイルを修正する
  Chromeでファイルの転送結果を確認する

環境

Apacehの環境に.htaccessファイルを配置し、キャッシュが使用されることを確認します。
index.phpがキャッシュする対象のファイルです。中身はテキストのみです。
D:\xampp\htdocs\phptest\index.php

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

キャッシュとは?

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

.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を再起動します。

関連の記事

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

△上に戻る