Apache Expiresヘッダフィールドを追加する方法
スポンサーリンク
更新頻度の低い javascriptのファイルやスタイルシート(CSS)、画像(img, jpg, png) などのファイルがあります。そういう時に httpのレスポンスヘッダに Expires (有効期限)を設定することにより、有効期限内のファイルは、ブラウザの問い合わせを受けることがなくなり(GETがきて304を返したりする)、サーバにもクライアント(ブラウザ)にも回線にも優しくなります。
apacheのリクエストレスポンスのヘッダのフィールドに Expires の情報
を追加する方法を下記の通りです。
httpd.conf (/usr/local/etc/apache22/httpd.conf) で mod_expires.so のロードの設定をします。
Expires機能を有効にする
デフォルトのExpires 期限
ファイルの拡張子で有効期限を指定する
cssやjs、画像(gif,jpg,png) の有効期限を 24 時間に設定するには、下記の通りです。
最終変更時刻から24時間以内を有効期限とする場合。
変更から24時間を越えるとキャッシュしてもらえなくなってしまう。
アクセスから24時間を有効期限とする場合。
24 hours なんて書いてますが
Expires 機能無効時のヘッダ
mod_expires が有効のときのヘッダ
Expires: という行が追加されてます。
ファイルの最終修正時刻以降 3 分間だけ有効にしたい場合
ExpiresDefault "modification plus 3 minutes"
設定したあとに
設定ファイルのsyntaxチェックをします。
apacheのリクエストレスポンスのヘッダのフィールドに Expires の情報
を追加する方法を下記の通りです。
- apache の mod_expires モジュールをロードする
- mod_expires の Expires 機能をオンにする
- Expires の設定をする
httpd.conf (/usr/local/etc/apache22/httpd.conf) で mod_expires.so のロードの設定をします。
LoadModule expires_module libexec/apache22/mod_expires.so
Expires機能を有効にする
# enable expires ExpiresActive on
デフォルトのExpires 期限
ファイルの拡張子で有効期限を指定する
cssやjs、画像(gif,jpg,png) の有効期限を 24 時間に設定するには、下記の通りです。
最終変更時刻から24時間以内を有効期限とする場合。
変更から24時間を越えるとキャッシュしてもらえなくなってしまう。
<FilesMatch "\.(css|js)$"> ExpiresDefault "modification plus 24 hours" </FilesMatch> <FilesMatch "\.(gif|jpe?g|png)$"> ExpiresDefault "modification plus 24 hours" </FilesMatch>
アクセスから24時間を有効期限とする場合。
<FilesMatch "\.(css|js)$"> ExpiresDefault "access plus 24 hours" </FilesMatch> <FilesMatch "\.(gif|jpe?g|png)$"> ExpiresDefault "access plus 24 hours" </FilesMatch>
24 hours なんて書いてますが
"access plus 1 days"
という風にもかけます。
こんな風にも設定ができます。
ExpiresByType text/css "access plus 3 days" ExpiresByType application/x-javascript "access plus 3 days" ExpiresByType image/jpeg "access plus 3 days"
Expires 機能無効時のヘッダ
HTTP/1.1 200 OK Date: Fri, 09 Nov 2007 16:46:49 GMT Server: Apache Last-Modified: Fri, 27 Jul 2007 16:56:37 GMT ETag: "9f3621-53f2-a04cbb40" Accept-Ranges: bytes Content-Length: 21490 Vary: Accept-Encoding Connection: close Content-Type: application/x-javascript
mod_expires が有効のときのヘッダ
Expires: という行が追加されてます。
HTTP/1.1 200 OK Date: Fri, 09 Nov 2007 16:55:19 GMT Server: Apache Last-Modified: Fri, 27 Jul 2007 16:56:37 GMT ETag: "9f3621-53f2-a04cbb40" Accept-Ranges: bytes Content-Length: 21490 Cache-Control: max-age=-8985522 Expires: Sat, 28 Jul 2007 16:56:37 GMT Vary: Accept-Encoding Connection: close Content-Type: application/x-javascript
ファイルの最終修正時刻以降 3 分間だけ有効にしたい場合
ExpiresDefault "modification plus 3 minutes"
設定したあとに
設定ファイルのsyntaxチェックをします。
apachectl configtest
Expires の設定をしたら、apacheを再起動します。
sudo apachectl graceful
というわけで、変更の少ないファイルには、Expires を設定することで、
アクセスを減らし、色々なリソースの無駄を減らすことが可能になります。
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12