Apache HTTP サーバ バージョン 2.2

| 説明: | URI をキーにしたコンテンツのキャッシュ | 
|---|---|
| ステータス: | Extension | 
| モジュール識別子: | cache_module | 
| ソースファイル: | mod_cache.c | 
Allow や
    Deny 
    ディレクティブを迂回する設定もできてしまいます。
    ホスト名やアドレスや環境変数に基づいてクライアントからの
    アクセスを制限したい場合は、キャッシュ機能を有効にすべきでは
    ありません。mod_cache はローカルのコンテンツやプロキシされた
    コンテンツをキャッシュするために使われる RFC 2616 準拠の
    HTTP コンテンツキャッシュを実装しています。mod_cache
    の動作にはストレージを管理するモジュールが必要です。標準
    Apache 配布には二つストレージ管理モジュールが含まれています:
mod_disk_cachemod_mem_cachemod_mem_cache は次の二つのモードのどちらかで動作する
    ように設定できます: オープンされているファイル記述子をキャッシュするモードか、
    ヒープ上でのオブジェクトの自体をキャッシュをするモードです。
    mod_mem_cache はローカルで生成されるコンテンツや、
    mod_proxy が
    ProxyPass を使って設定されている
    ときの (つまりリバースプロキシ での) バックエンドサーバの
    コンテンツをキャッシュするのに使えます。コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 アクセス保護のかけられているコンテンツはキャッシュされません。
詳細や解説、例については Caching Guide を参照して下さい。
 CacheDefaultExpire
 CacheDisable
 CacheEnable
 CacheIgnoreCacheControl
 CacheIgnoreHeaders
 CacheIgnoreNoLastMod
 CacheLastModifiedFactor
 CacheMaxExpire
 CacheStoreNoStore
 CacheStorePrivate| 関連モジュール | 関連ディレクティブ | 
|---|---|
      #
      # Sample Cache Configuration
      #
      LoadModule cache_module modules/mod_cache.so
      
      <IfModule mod_cache.c>
      
        #LoadModule disk_cache_module modules/mod_disk_cache.so
        # If you want to use mod_disk_cache instead of mod_mem_cache,
        # uncomment the line above and comment out the LoadModule line below.
        <IfModule mod_disk_cache.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
    
| 説明: | 特定の 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_disk_cache で実装されているディスクを使ったストレージ
    管理を使うように 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/
    
| 説明: | キャッシュされているコンテンツを返さないようにクライアントから リクエストされても無視する | 
|---|---|
| 構文: | 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
    
| 説明: | 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
    
| 説明: | ドキュメントをキャッシュする最大時間を秒数で表したもの | 
|---|---|
| 構文: | CacheMaxExpire seconds | 
| デフォルト: | CacheMaxExpire 86400 (一日) | 
| コンテキスト: | サーバ設定ファイル, バーチャルホスト | 
| ステータス: | Extension | 
| モジュール: | mod_cache | 
CacheMaxExpire ディレクティブは、
    キャッシュする HTTP ドキュメントを、元のサーバに問い合わせないまま最大何秒
    保持してもよいかを指定します。つまり、ドキュメントは最大でこの秒数間ぶん古く
    なることになります。この最大値は、(訳注:レスポンス中で)ドキュメントと共に
    ドキュメントの期日が提供されている場合でも適用されます。
      CacheMaxExpire 604800
    
| 説明: | 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