ブラウザキャッシュは、一度アクセスしたページやリソースをユーザーのブラウザに一時的に保存する仕組みです。キャッシュを適切に制御することで、リピーターのページ表示速度を大幅に向上させることができます。.htaccessを使ってキャッシュポリシーを設定すれば、サーバー設定を変更することなく、効率的なキャッシュ戦略を実現できます。
キャッシュ制御の基本概念
キャッシュ制御には、Cache-Control、Expires、ETagなどの複数のヘッダーが関与します。Cache-Controlヘッダーは現代のキャッシュ制御の標準であり、max-age(キャッシュ保持期間)やno-cache(再検証を要求)などのディレクティブで細かい制御が可能です。Expiresヘッダーは古い方式ですが、古いブラウザとの互換性を保つために引き続き設定されることがあります。適切なキャッシュ期間を設定することは、ユーザー体験の向上とサーバー負荷の軽減の両方に寄与します。
.htaccessでの設定方法
.htaccessファイルでキャッシュ制御を設定するには、FilesMatchディレクティブを使ってファイルタイプごとに異なるキャッシュ期間を指定します。画像ファイル(jpg、png、gif)は長めのキャッシュ期間を設定しても問題ない場合が多いです。一方、HTMLやPHPファイルは頻繁に更新されるため、短めのキャッシュ期間か、no-cacheの設定が推奨されます。JavaScriptとCSSファイルはバージョン管理と組み合わせることで、更新時にキャッシュが自動的に更新されるよう設計できます。
最適化のコツ
キャッシュ制御を最適化するポイントは、ファイルタイプに応じた適切な期間設定にあります。静的アセット(画像、フォント、CSS)は長めのキャッシュ(1ヶ月〜1年)、動的コンテンツ(HTML、APIレスポンス)は短めのキャッシュ(数時間〜1日)に設定するのが一般的です。また、ETagを活用することで、ファイルが変更されたかどうかを効率的に判定できます。Gzip圧縮との併用も効果的です。.htaccess生成ツールを使えば、ファイルタイプごとの最適なキャッシュ設定を簡単に生成できます。