Apache HTTP サーバ バージョン 2.4

| 説明: | URI をキーにしたコンテンツのキャッシュ |
|---|---|
| ステータス: | Extension |
| モジュール識別子: | cache_module |
| ソースファイル: | mod_cache.c |
Allow や Deny ディレクティブを無視しますので、
注意して使って下さい。クライアントのホスト名、アドレスや環境変数を使って
アクセスを制限したいコンテンツに対してはキャッシュ機能を有効にするべきではありません。
mod_cache はローカルのコンテンツやプロキシされた
コンテンツをキャッシュするために使われる RFC 2616 準拠の
HTTP コンテンツキャッシュを実装しています。mod_cache
の動作にはストレージを管理するモジュールが必要です。標準
Apache 配布には二つストレージ管理モジュールが含まれています:
mod_cache_diskmod_mem_cachemod_mem_cache は次の二つのモードのどちらかで動作する
ように設定できます: オープンされているファイル記述子をキャッシュするモードか、
ヒープ上でのオブジェクトの自体をキャッシュをするモードです。
mod_mem_cache はローカルで生成されるコンテンツや、
mod_proxy が
ProxyPass を使って設定されている
ときの (つまりリバースプロキシ での) バックエンドサーバの
コンテンツをキャッシュするのに使えます。コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 アクセス保護のかけられているコンテンツはキャッシュされません。
より詳細な解説や例についてはキャッシュ機能 を参照してください。

CacheDefaultExpire
CacheDetailHeader
CacheDisable
CacheEnable
CacheHeader
CacheIgnoreCacheControl
CacheIgnoreHeaders
CacheIgnoreNoLastMod
CacheIgnoreQueryString
CacheIgnoreURLSessionIdentifiers
CacheKeyBaseURL
CacheLastModifiedFactor
CacheLock
CacheLockMaxAge
CacheLockPath
CacheMaxExpire
CacheMinExpire
CacheQuickHandler
CacheStaleOnError
CacheStoreExpired
CacheStoreNoStore
CacheStorePrivate| 関連モジュール | 関連ディレクティブ |
|---|---|
#
# Sample Cache Configuration
#
LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
#LoadModule cache_disk_module modules/mod_cache_disk.so
# If you want to use mod_cache_disk instead of mod_mem_cache,
# uncomment the line above and comment out the LoadModule line below.
<IfModule mod_cache_disk.c>
CacheRoot c:/cacheroot
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
</IfModule>
LoadModule mem_cache_module modules/mod_mem_cache.so
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
# When acting as a proxy, don't cache the list of security updates
CacheDisable http://security.update.server/update-list/
</IfModule>
| 説明: | 期日が指定されていないときにドキュメントをキャッシュするデフォルトの期間 |
|---|---|
| 構文: | CacheDefaultExpire seconds |
| デフォルト: | CacheDefaultExpire 3600 (1時間) |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
CacheDefaultExpire ディレクティブは、ドキュメントに
有効期限 (expiry) や最終修正時刻 (last-modified) が指定されていない場合の
デフォルトの時間を指定します。CacheMaxExpire
ディレクティブで指定された値はこの設定を上書きしません。
CacheDefaultExpire 86400
| 説明: | Add an X-Cache-Detail header to the response. |
|---|---|
| 構文: | CacheDetailHeader on|off |
| デフォルト: | CacheDetailHeader off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Available in Apache 2.3.9 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | 特定の URL をキャッシュしない |
|---|---|
| 構文: | CacheDisable url-string |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
CacheDisable ディレクティブで
mod_cache モジュールが url-string 以下の
URL をキャッシュしないようにします。
CacheDisable /local_files
| 説明: | 指定したストレージ管理方式を使ってのキャッシュを有効にする |
|---|---|
| 構文: | CacheEnable cache_type url-string |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
CacheEnable ディレクティブで mod_cache
モジュールが url-string 以下の URL をキャッシュするようにします。
キャッシュストレージ管理方式は cache_type 引数で指定します。
cache_type mem で、
mod_mem_cache で実装されているメモリを使ったストレージ
管理方式を使うように mod_cache に指示します。
cache_type disk で、
mod_cache_disk で実装されているディスクを使ったストレージ
管理を使うように mod_cache に指示します。
cache_type fd は mod_cache に
mod_mem_cache により実装されているファイル記述子の
キャッシュを使うように指示します。
(下の例のように) CacheEnable ディレクティブの
URL 空間が重複しているときは、該当するストレージ方式を順に試して、
実際にリクエストの処理ができると、その方式で処理します。
ストレージ管理方式が実行される順番は設定ファイル中の
CacheEnable の順番により決定されます。
CacheEnable mem /manual
CacheEnable fd /images
CacheEnable disk /
フォワードプロクシサーバとして動作する場合、 url-string を使って、キャッシュを有効にするリモートサイトや プロクシプロトコルを指定することもできます。
# Cache proxied url's
CacheEnable disk /
# Cache FTP-proxied url's
CacheEnable disk ftp://
# Cache content from www.apache.org
CacheEnable disk http://www.apache.org/
| 説明: | Add an X-Cache header to the response. |
|---|---|
| 構文: | CacheHeader on|off |
| デフォルト: | CacheHeader off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Available in Apache 2.3.9 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | キャッシュされているコンテンツを返さないようにクライアントから リクエストされても無視する |
|---|---|
| 構文: | CacheIgnoreCacheControl On|Off |
| デフォルト: | CacheIgnoreCacheControl Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
Cache-Control: no-cache ヘッダや Pragma: no-store ヘッダのあるリクエストに
対しては、通常キャッシュを使いません。CacheIgnoreCacheControl
ディレクティブを使うと、この動作を上書きできます。
CacheIgnoreCacheControl On とすると、
リクエストに no-cache という値があっても、キャッシュを使ってドキュメントを
返すようになります。認証を必要とするドキュメントは決して
キャッシュされません。
CacheIgnoreCacheControl On
| 説明: | 指定された HTTP ヘッダをキャッシュに保存しない。 |
|---|---|
| 構文: | CacheIgnoreHeaders header-string [header-string] ... |
| デフォルト: | CacheIgnoreHeaders None |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
RFC 2616 によると、hop-by-hop HTTP ヘッダはキャッシュには保管されません。
以下のヘッダは hop-by-hop ヘッダに該当しますので、
CacheIgnoreHeaders
の設定に関係なくキャッシュには保管されません:
ConnectionKeep-AliveProxy-AuthenticateProxy-AuthorizationTETrailersTransfer-EncodingUpgradeCacheIgnoreHeaders で
キャッシュに保管しない追加の HTTP ヘッダを指定します。
例えば、クッキーをキャッシュに保管しないようにした方がよい場合も
あるでしょう。
CacheIgnoreHeaders の引数は、
キャッシュに保管しない HTTP ヘッダを空白区切りにしたリスト形式です。
キャッシュに保管しないヘッダが hop-by-hop ヘッダだけの場合
(RFC 2616 準拠の動作のとき) は、
CacheIgnoreHeaders を None
に設定できます。
CacheIgnoreHeaders Set-Cookie
CacheIgnoreHeaders None
Expires のような適切のキャッシュ管理のために必要な
ヘッダが CacheIgnoreHeaders の設定により
保管されていないときは、mod_cache の動作は定義されていません。
| 説明: | 応答に Last Modified が無くても気にしないようにする |
|---|---|
| 構文: | CacheIgnoreNoLastMod On|Off |
| デフォルト: | CacheIgnoreNoLastMod Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
通常、Last-Modified による最終修正時刻の無いドキュメントはキャッシュ
されません。(例えば mod_include による処理のときなどに)
Last-Modified 時刻が消去されたり、そもそも最初から提供されていない
状況があります。CacheIgnoreNoLastMod
ディレクティブを使うと、Last-Modified 日時が指定されていない
ドキュメントでもキャッシュするように指定できます。ドキュメントに
最終修正時刻 (Last-Modified) 有効期限 (expiry) がない場合は、有効期限の
生成に CacheDefaultExpire が使われます。
CacheIgnoreNoLastMod On
| 説明: | キャッシュ時にクエリーストリングを無視する |
|---|---|
| 構文: | CacheIgnoreQueryString On|Off |
| デフォルト: | CacheIgnoreQueryString Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
クエリーストリング付のリクエストについては通常、クエリーストリングごとに
個別にキャッシュされます。
キャッシュされるのは有効期限が指定されている場合のみで、これは
RFC 2616/13.9 に従ったものです。
CacheIgnoreQueryString ディレクティブを使うと
有効期限が指定されていなくてもキャッシュしますし、
クエリーストリングが異なっていてもキャッシュを返します。
このディレクティブが有効になっている場合、キャッシュ機能の側面からみると、
あたかもリクエストにクエリーストリングがついていなかったかのように扱います。
CacheIgnoreQueryString On
| 説明: | Ignore defined session identifiers encoded in the URL when caching |
|---|---|
| 構文: | CacheIgnoreURLSessionIdentifiers identifier [identifier] ... |
| デフォルト: | CacheIgnoreURLSessionIdentifiers None |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | Override the base URL of reverse proxied cache keys. |
|---|---|
| 構文: | CacheKeyBaseURL URL |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Available in Apache 2.3.9 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | LastModified の日付に基づいて有効期限 (expiry) を計算するための重みを指定する |
|---|---|
| 構文: | CacheLastModifiedFactor float |
| デフォルト: | CacheLastModifiedFactor 0.1 |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
ドキュメントに Last-Modified の日付が無いけれども有効期限 (expiry)
の日付があるというときに、有効期限を最終修正時刻からの経過時間として
計算するようにできます。有効期限を次の計算式に従って生成するのですが、
そのときに使われる factor を
CacheLastModifiedFactor ディレクティブで指定します。
expiry-period = time-since-last-modified-date * factor
expiry-date = current-date + expiry-period
例えば、ドキュメントが 10 時間前に最後に修正されていて、 factor が 0.1 であれば、期日は 10*0.1 = 1 時間に 設定されます。現在時刻が 3:00pm であれば、計算された期日は 3:00pm + 1hour = 4:00pm になります。
期日が CacheMaxExpire で設定されている値
より大きくなってしまっている場合は、CacheMaxExpire
の設定値が優先されます。
CacheLastModifiedFactor 0.5
| 説明: | Enable the thundering herd lock. |
|---|---|
| 構文: | CacheLock on|off |
| デフォルト: | CacheLock off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Available in Apache 2.2.15 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | Set the maximum possible age of a cache lock. |
|---|---|
| 構文: | CacheLockMaxAge integer |
| デフォルト: | CacheLockMaxAge 5 |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | Set the lock path directory. |
|---|---|
| 構文: | CacheLockPath directory |
| デフォルト: | CacheLockPath /tmp/mod_cache-lock |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | ドキュメントをキャッシュする最大時間を秒数で表したもの |
|---|---|
| 構文: | CacheMaxExpire seconds |
| デフォルト: | CacheMaxExpire 86400 (一日) |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
CacheMaxExpire ディレクティブは、
キャッシュする HTTP ドキュメントを、元のサーバに問い合わせないまま最大何秒
保持してもよいかを指定します。つまり、ドキュメントは最大でこの秒数間ぶん古く
なることになります。この最大値は、(訳注: レスポンス中で)ドキュメントと共に
ドキュメントの期日が提供されている場合でも適用されます。
CacheMaxExpire 604800
| 説明: | ドキュメントをキャッシュする最小秒数 |
|---|---|
| 構文: | CacheMinExpire seconds |
| デフォルト: | CacheMinExpire 0 |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
キャッシュ可能な HTTP ドキュメントがあったときに、オリジンサーバに問い合わせることなく
保持する秒数の最小値は CacheMinExpire ディレクティブを使って設定します。
この値は、ドキュメントに妥当な有効期限が指定されていなかった場合にのみ使われます。
CacheMinExpire 3600
| 説明: | Run the cache from the quick handler. |
|---|---|
| 構文: | CacheQuickHandler on|off |
| デフォルト: | CacheQuickHandler on |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Apache HTTP Server 2.3.3 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | Serve stale content in place of 5xx responses. |
|---|---|
| 構文: | CacheStaleOnError on|off |
| デフォルト: | CacheStaleOnError on |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| ステータス: | Extension |
| モジュール: | mod_cache |
| 互換性: | Available in Apache 2.3.9 and later |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | Attempt to cache responses that the server reports as expired |
|---|---|
| 構文: | CacheStoreExpired On|Off |
| デフォルト: | CacheStoreExpired Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| ステータス: | Extension |
| モジュール: | mod_cache |
このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。
| 説明: | no-store と指定されているレスポンスのキャッシュを試みる。 |
|---|---|
| 構文: | CacheStoreNoStore On|Off |
| デフォルト: | CacheStoreNoStore Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
通常 Cache-Control: no-store ヘッダのついているレスポンスは
キャッシュされません。CacheStoreNoCache
ディレクティブでこの挙動を上書きできます。
CacheStoreNoCache On で no-store ヘッダのついている
リソースに対してもキャッシュを試みるようになります。
ただし認証の求められるリソースは 決して キャッシュされません。
CacheStoreNoStore On
| 説明: | private と指定されているレスポンスのキャッシュを試みる。 |
|---|---|
| 構文: | CacheStorePrivate On|Off |
| デフォルト: | CacheStorePrivate Off |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| モジュール: | mod_cache |
通常 Cache-Control: private ヘッダのついているレスポンスは
キャッシュされません。CacheStorePrivate
ディレクティブでこの挙動を上書きできます。
CacheStorePrivate On で private ヘッダのついている
リソースに対してもキャッシュを試みるようになります。
ただし認証の求められるリソースは 決して キャッシュされません。
CacheStorePrivate On