]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_cache.xml.ja
rebuild docs
[apache] / docs / manual / mod / mod_cache.xml.ja
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 504183:1590566 (outdated) -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <modulesynopsis metafile="mod_cache.xml.meta">
24
25 <name>mod_cache</name>
26 <description>URI をキーにしたコンテンツのキャッシュ</description>
27 <status>Extension</status>
28 <sourcefile>mod_cache.c</sourcefile>
29 <identifier>cache_module</identifier>
30
31 <summary>
32     <note type="warning">このモジュールは <directive 
33     module="mod_authz_host">Allow</directive> や <directive 
34     module="mod_authz_host">Deny</directive> ディレクティブを無視しますので、
35     注意して使って下さい。クライアントのホスト名、アドレスや環境変数を使って
36     アクセスを制限したいコンテンツに対してはキャッシュ機能を有効にするべきではありません。
37     </note>
38
39     <p><module>mod_cache</module> はローカルのコンテンツやプロキシされた
40     コンテンツをキャッシュするために使われる <a
41     href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> 準拠の
42     HTTP コンテンツキャッシュを実装しています。<module>mod_cache</module>
43     の動作にはストレージを管理するモジュールが必要です。標準
44     Apache 配布には二つストレージ管理モジュールが含まれています:</p>
45     
46     <dl>
47     <dt><module>mod_cache_disk</module></dt>
48     <dd>ディスクを使用したストレージ管理機構を実装しています。</dd>
49
50     <dt><module>mod_mem_cache</module></dt>
51     <dd>メモリを使用したストレージ管理機構を実装しています。
52     <module>mod_mem_cache</module> は次の二つのモードのどちらかで動作する
53     ように設定できます: オープンされているファイル記述子をキャッシュするモードか、
54     ヒープ上でのオブジェクトの自体をキャッシュをするモードです。
55     <module>mod_mem_cache</module> はローカルで生成されるコンテンツや、
56     <module>mod_proxy</module> が
57     <directive module="mod_proxy">ProxyPass</directive> を使って設定されている
58     ときの (つまり<dfn>リバースプロキシ</dfn> での) バックエンドサーバの
59     コンテンツをキャッシュするのに使えます。</dd>
60     </dl>
61
62     <p>コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。
63     アクセス保護のかけられているコンテンツはキャッシュされません。</p>
64     <p>より詳細な解説や例については<a href="../caching.html">キャッシュ機能</a>
65     を参照してください。</p>
66 </summary>
67 <seealso><a href="../caching.html">キャッシュ機能</a></seealso>
68
69 <section id="related"><title>関連モジュールとディレクティブ</title>
70     <related>
71       <modulelist>
72         <module>mod_cache_disk</module>
73         <module>mod_mem_cache</module>
74       </modulelist>
75       <directivelist>
76         <directive module="mod_cache_disk">CacheRoot</directive>
77         <directive module="mod_cache_disk">CacheDirLevels</directive>
78         <directive module="mod_cache_disk">CacheDirLength</directive>
79         <directive module="mod_cache_disk">CacheMinFileSize</directive>
80         <directive module="mod_cache_dist">CacheMaxFileSize</directive>
81         <directive module="mod_mem_cache">MCacheSize</directive>
82         <directive module="mod_mem_cache">MCacheMaxObjectCount</directive>
83         <directive module="mod_mem_cache">MCacheMinObjectSize</directive>
84         <directive module="mod_mem_cache">MCacheMaxObjectSize</directive>
85         <directive module="mod_mem_cache">MCacheRemovalAlgorithm</directive>
86         <directive module="mod_mem_cache">MCacheMaxStreamingBuffer</directive>
87       </directivelist>
88     </related>
89 </section>
90
91 <section id="sampleconf"><title>サンプル設定</title>
92     <example><title>Sample httpd.conf</title>
93       #<br />
94       # Sample Cache Configuration<br />
95       #<br />
96       LoadModule cache_module modules/mod_cache.so<br />
97       <br />
98       &lt;IfModule mod_cache.c&gt;<br />
99       <indent>
100         #LoadModule cache_disk_module modules/mod_cache_disk.so<br />
101         # If you want to use mod_cache_disk instead of mod_mem_cache,<br />
102         # uncomment the line above and comment out the LoadModule line below.<br />
103         &lt;IfModule mod_cache_disk.c&gt;<br />
104         <indent>
105           CacheRoot c:/cacheroot<br />
106           CacheEnable disk  /<br />
107           CacheDirLevels 5<br />
108           CacheDirLength 3<br />
109         </indent>
110         &lt;/IfModule&gt; <br />
111         <br />
112         LoadModule mem_cache_module modules/mod_mem_cache.so<br />
113         &lt;IfModule mod_mem_cache.c&gt;<br />
114         <indent>
115           CacheEnable mem  /<br />
116           MCacheSize 4096<br />
117           MCacheMaxObjectCount 100<br />
118           MCacheMinObjectSize 1<br />
119           MCacheMaxObjectSize 2048<br />
120         </indent>
121         &lt;/IfModule&gt;<br />
122         <br />
123         # When acting as a proxy, don't cache the list of security updates<br />
124         CacheDisable http://security.update.server/update-list/<br />
125       </indent>
126       &lt;/IfModule&gt;
127     </example>
128 </section>
129
130 <directivesynopsis>
131 <name>CacheEnable</name>
132 <description>指定したストレージ管理方式を使ってのキャッシュを有効にする</description>
133 <syntax>CacheEnable <var>cache_type</var> <var>url-string</var></syntax>
134 <contextlist><context>server config</context><context>virtual host</context>
135 </contextlist>
136
137 <usage>
138     <p><directive>CacheEnable</directive> ディレクティブで <module>mod_cache</module> 
139     モジュールが <var>url-string</var> 以下の URL をキャッシュするようにします。
140     キャッシュストレージ管理方式は <var>cache_type</var> 引数で指定します。
141     <var>cache_type</var> <code> mem</code> で、
142     <module>mod_mem_cache</module> で実装されているメモリを使ったストレージ
143     管理方式を使うように <module>mod_cache</module> に指示します。
144     <var>cache_type</var> <code>disk</code> で、
145     <module>mod_cache_disk</module> で実装されているディスクを使ったストレージ
146     管理を使うように <module>mod_cache</module> に指示します。
147     <var>cache_type</var> <code>fd</code> は <module>mod_cache</module> に
148     <module>mod_mem_cache</module> により実装されているファイル記述子の
149     キャッシュを使うように指示します。</p>
150
151     <p>(下の例のように) <directive>CacheEnable</directive> ディレクティブの
152     URL 空間が重複しているときは、該当するストレージ方式を順に試して、
153     実際にリクエストの処理ができると、その方式で処理します。
154     ストレージ管理方式が実行される順番は設定ファイル中の
155     <directive>CacheEnable</directive> の順番により決定されます。</p>
156
157     <example>
158       CacheEnable  mem   /manual<br />
159       CacheEnable  fd    /images<br />
160       CacheEnable  disk  /<br />
161     </example>
162
163     <p>フォワードプロクシサーバとして動作する場合、
164     <var>url-string</var> を使って、キャッシュを有効にするリモートサイトや
165     プロクシプロトコルを指定することもできます。</p>
166
167     <example>
168       # Cache proxied url's<br />
169       CacheEnable  disk  /<br /><br />
170       # Cache FTP-proxied url's<br />
171       CacheEnable  disk  ftp://<br /><br />
172       # Cache content from www.apache.org<br />
173       CacheEnable  disk  http://www.apache.org/<br />
174     </example>
175
176 </usage>
177 </directivesynopsis>
178
179 <directivesynopsis>
180 <name>CacheDisable</name>
181 <description>特定の URL をキャッシュしない</description>
182 <syntax>CacheDisable <var> url-string</var></syntax>
183 <contextlist><context>server config</context><context>virtual host</context>
184 </contextlist>
185
186 <usage>
187     <p><directive>CacheDisable</directive> ディレクティブで
188     <module>mod_cache</module> モジュールが <var>url-string</var> 以下の
189     URL をキャッシュ<em>しない</em>ようにします。</p>
190
191     <example><title>例</title>
192       CacheDisable /local_files
193     </example>
194 </usage>
195
196 </directivesynopsis>
197 <directivesynopsis>
198 <name>CacheMaxExpire</name>
199 <description>ドキュメントをキャッシュする最大時間を秒数で表したもの</description>
200 <syntax>CacheMaxExpire <var>seconds</var></syntax>
201 <default>CacheMaxExpire 86400 (一日)</default>
202 <contextlist><context>server config</context><context>virtual host</context>
203 </contextlist>
204
205 <usage>
206     <p><directive>CacheMaxExpire</directive> ディレクティブは、
207     キャッシュする HTTP ドキュメントを、元のサーバに問い合わせないまま最大何秒
208     保持してもよいかを指定します。つまり、ドキュメントは最大でこの秒数間ぶん古く
209     なることになります。この最大値は、<transnote>レスポンス中で</transnote>ドキュメントと共に
210     ドキュメントの期日が提供されている場合でも適用されます。</p>
211
212     <example>
213       CacheMaxExpire 604800
214     </example>
215 </usage>
216 </directivesynopsis>
217
218 <directivesynopsis>
219 <name>CacheMinExpire</name>
220 <description>ドキュメントをキャッシュする最小秒数</description>
221 <syntax>CacheMinExpire <var>seconds</var></syntax>
222 <default>CacheMinExpire 0</default>
223 <contextlist><context>server config</context><context>virtual host</context>
224 </contextlist>
225
226 <usage>
227     <p>キャッシュ可能な HTTP ドキュメントがあったときに、オリジンサーバに問い合わせることなく
228     保持する秒数の最小値は <directive>CacheMinExpire</directive> ディレクティブを使って設定します。
229     この値は、ドキュメントに妥当な有効期限が指定されていなかった場合にのみ使われます。</p>
230
231
232     <example>
233       CacheMinExpire 3600
234     </example>
235 </usage>
236 </directivesynopsis>
237
238 <directivesynopsis>
239 <name>CacheDefaultExpire</name>
240 <description>期日が指定されていないときにドキュメントをキャッシュするデフォルトの期間</description>
241 <syntax>CacheDefaultExpire <var>seconds</var></syntax>
242 <default>CacheDefaultExpire 3600 (1時間)</default>
243 <contextlist><context>server config</context><context>virtual host</context>
244 </contextlist>
245
246 <usage>
247     <p><directive>CacheDefaultExpire</directive> ディレクティブは、ドキュメントに
248     有効期限 (expiry) や最終修正時刻 (last-modified) が指定されていない場合の
249     デフォルトの時間を指定します。<directive>CacheMaxExpire</directive> 
250     ディレクティブで指定された値はこの設定を上書き<em>しません</em>。</p>
251
252     <example>
253       CacheDefaultExpire 86400
254     </example>
255 </usage>
256 </directivesynopsis>
257
258 <directivesynopsis>
259 <name>CacheIgnoreNoLastMod</name>
260 <description>応答に Last Modified が無くても気にしないようにする</description>
261 <syntax>CacheIgnoreNoLastMod On|Off</syntax>
262 <default>CacheIgnoreNoLastMod Off</default>
263 <contextlist><context>server config</context><context>virtual host</context>
264 </contextlist>
265
266 <usage>
267     <p>通常、Last-Modified による最終修正時刻の無いドキュメントはキャッシュ
268     されません。(例えば <module>mod_include</module> による処理のときなどに)
269     Last-Modified 時刻が消去されたり、そもそも最初から提供されていない
270     状況があります。<directive>CacheIgnoreNoLastMod</directive> 
271     ディレクティブを使うと、Last-Modified 日時が指定されていない
272     ドキュメントでもキャッシュするように指定できます。ドキュメントに
273     最終修正時刻 (Last-Modified) 有効期限 (expiry) がない場合は、有効期限の
274     生成に <directive>CacheDefaultExpire</directive> が使われます。</p>
275
276     <example>
277       CacheIgnoreNoLastMod On
278     </example>
279 </usage>
280 </directivesynopsis>
281
282 <directivesynopsis>
283 <name>CacheIgnoreCacheControl</name>
284 <description>キャッシュされているコンテンツを返さないようにクライアントから
285 リクエストされても無視する</description>
286 <syntax>CacheIgnoreCacheControl On|Off</syntax>
287 <default>CacheIgnoreCacheControl Off</default>
288 <contextlist><context>server config</context><context>virtual host</context>
289 </contextlist>
290
291 <usage>
292     <p>Cache-Control: no-cache ヘッダや Pragma: no-store ヘッダのあるリクエストに
293     対しては、通常キャッシュを使いません。<directive>CacheIgnoreCacheControl</directive> 
294     ディレクティブを使うと、この動作を上書きできます。
295     <directive>CacheIgnoreCacheControl</directive> On とすると、
296     リクエストに no-cache という値があっても、キャッシュを使ってドキュメントを
297     返すようになります。認証を必要とするドキュメントは<em>決して</em>
298     キャッシュされません。</p>
299
300     <example>
301       CacheIgnoreCacheControl On
302     </example>
303
304     <note type="warning"><title>警告</title>
305        このディレクティブを使うと、ドキュメント取得時にキャッシュを使わないように
306        クライアントがリクエストしているにもかかわらず、キャッシュを
307        使うようになります。その結果、
308        古いコンテンツが送られ続けることになってしまうかもしれません。
309     </note>
310 </usage>
311 <seealso><directive module="mod_cache">CacheStorePrivate</directive></seealso>
312 <seealso><directive module="mod_cache">CacheStoreNoStore</directive></seealso>
313 </directivesynopsis>
314
315 <directivesynopsis>
316 <name>CacheIgnoreQueryString</name>
317 <description>キャッシュ時にクエリーストリングを無視する</description>
318 <syntax>CacheIgnoreQueryString On|Off</syntax>
319 <default>CacheIgnoreQueryString Off</default>
320 <contextlist><context>server config</context><context>virtual host</context>
321 </contextlist>
322
323 <usage>
324     <p>クエリーストリング付のリクエストについては通常、クエリーストリングごとに
325     個別にキャッシュされます。
326     キャッシュされるのは有効期限が指定されている場合のみで、これは
327     RFC 2616/13.9 に従ったものです。
328     <directive>CacheIgnoreQueryString</directive> ディレクティブを使うと
329     有効期限が指定されていなくてもキャッシュしますし、
330     クエリーストリングが異なっていてもキャッシュを返します。
331     このディレクティブが有効になっている場合、キャッシュ機能の側面からみると、
332     あたかもリクエストにクエリーストリングがついていなかったかのように扱います。</p>
333
334     <example>
335       CacheIgnoreQueryString On
336     </example>
337
338 </usage>
339 </directivesynopsis>
340
341 <directivesynopsis>
342 <name>CacheLastModifiedFactor</name>
343 <description>LastModified の日付に基づいて有効期限 (expiry) 
344 を計算するための重みを指定する
345 </description>
346 <syntax>CacheLastModifiedFactor <var>float</var></syntax>
347 <default>CacheLastModifiedFactor 0.1</default>
348 <contextlist><context>server config</context><context>virtual host</context>
349 </contextlist>
350
351 <usage>
352     <p>ドキュメントに Last-Modified の日付が無いけれども有効期限 (expiry) 
353     の日付があるというときに、有効期限を最終修正時刻からの経過時間として
354     計算するようにできます。有効期限を次の計算式に従って生成するのですが、
355     そのときに使われる <var>factor</var> を
356     <directive>CacheLastModifiedFactor</directive> ディレクティブで指定します。
357     </p>
358
359     <p><code>expiry-period = time-since-last-modified-date * <var>factor</var>
360     expiry-date = current-date + expiry-period</code></p>
361
362     <p>例えば、ドキュメントが 10 時間前に最後に修正されていて、
363     <var>factor</var> が 0.1 であれば、期日は 10*0.1 = 1 時間に
364     設定されます。現在時刻が 3:00pm であれば、計算された期日は
365     3:00pm + 1hour = 4:00pm になります。</p>
366
367     <p>期日が <directive>CacheMaxExpire</directive> で設定されている値
368     より大きくなってしまっている場合は、<directive>CacheMaxExpire</directive>
369     の設定値が優先されます。</p>
370
371     <example>
372       CacheLastModifiedFactor 0.5
373     </example>
374 </usage>
375 </directivesynopsis>
376
377 <directivesynopsis>
378 <name>CacheIgnoreHeaders</name>
379 <description>指定された HTTP ヘッダをキャッシュに保存しない。
380 </description>
381 <syntax>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</syntax>
382 <default>CacheIgnoreHeaders None</default>
383 <contextlist><context>server config</context><context>virtual host</context>
384 </contextlist>
385
386 <usage>
387     <p>RFC 2616 によると、hop-by-hop HTTP ヘッダはキャッシュには保管されません。
388     以下のヘッダは hop-by-hop ヘッダに該当しますので、
389     <directive>CacheIgnoreHeaders</directive>
390     の設定に<em>関係なく</em>キャッシュには保管されません:</p>
391     <ul>
392       <li><code>Connection</code></li>
393       <li><code>Keep-Alive</code></li>
394       <li><code>Proxy-Authenticate</code></li>
395       <li><code>Proxy-Authorization</code></li>
396       <li><code>TE</code></li>
397       <li><code>Trailers</code></li>
398       <li><code>Transfer-Encoding</code></li>
399       <li><code>Upgrade</code></li>
400     </ul>
401
402     <p><directive>CacheIgnoreHeaders</directive> で
403     キャッシュに保管しない追加の HTTP ヘッダを指定します。
404     例えば、クッキーをキャッシュに保管しないようにした方がよい場合も
405     あるでしょう。</p>
406
407     <p><directive>CacheIgnoreHeaders</directive> の引数は、
408     キャッシュに保管しない HTTP ヘッダを空白区切りにしたリスト形式です。
409     キャッシュに保管しないヘッダが hop-by-hop ヘッダだけの場合
410     (RFC 2616 準拠の動作のとき) は、
411     <directive>CacheIgnoreHeaders</directive> を <code>None</code>
412     に設定できます。</p>
413
414     <example><title>例 1</title>
415       CacheIgnoreHeaders Set-Cookie
416     </example>
417
418     <example><title>例 2</title>
419       CacheIgnoreHeaders None
420     </example>
421
422     <note type="warning"><title>警告:</title>
423       <code>Expires</code> のような適切のキャッシュ管理のために必要な
424       ヘッダが <directive>CacheIgnoreHeaders</directive> の設定により
425       保管されていないときは、mod_cache の動作は定義されていません。
426     </note>
427 </usage>
428 </directivesynopsis>
429
430 <directivesynopsis>
431 <name>CacheStorePrivate</name>
432 <description>private と指定されているレスポンスのキャッシュを試みる。</description>
433 <syntax>CacheStorePrivate On|Off</syntax>
434 <default>CacheStorePrivate Off</default>
435 <contextlist><context>server config</context><context>virtual host</context>
436 </contextlist>
437
438 <usage>
439     <p>通常 Cache-Control: private ヘッダのついているレスポンスは
440        キャッシュされません。<directive>CacheStorePrivate</directive> 
441        ディレクティブでこの挙動を上書きできます。
442        <directive>CacheStorePrivate</directive> On で private ヘッダのついている
443        リソースに対してもキャッシュを試みるようになります。
444        ただし認証の求められるリソースは <em>決して</em> キャッシュされません。</p>
445
446     <example>
447       CacheStorePrivate On
448     </example>
449
450     <note type="warning"><title>警告:</title>
451        上流サーバがキャッシュしないように指定してきても、
452        それを無視してキャッシュするようになります。
453        望ましい挙動になるのは、本当に 'private' なキャッシュについてのみでしょう。
454     </note>
455 </usage>
456 <seealso><directive module="mod_cache">CacheIgnoreCacheControl</directive></seealso>
457 <seealso><directive module="mod_cache">CacheStoreNoStore</directive></seealso>
458 </directivesynopsis>
459
460 <directivesynopsis>
461 <name>CacheStoreNoStore</name>
462 <description>no-store と指定されているレスポンスのキャッシュを試みる。</description>
463 <syntax>CacheStoreNoStore On|Off</syntax>
464 <default>CacheStoreNoStore Off</default>
465 <contextlist><context>server config</context><context>virtual host</context>
466 </contextlist>
467
468 <usage>
469     <p>通常 Cache-Control: no-store ヘッダのついているレスポンスは
470        キャッシュされません。<directive>CacheStoreNoCache</directive> 
471        ディレクティブでこの挙動を上書きできます。
472        <directive>CacheStoreNoCache</directive> On で no-store ヘッダのついている
473        リソースに対してもキャッシュを試みるようになります。
474        ただし認証の求められるリソースは <em>決して</em> キャッシュされません。</p>
475
476     <example>
477       CacheStoreNoStore On
478     </example>
479
480     <note type="warning"><title>警告:</title>
481        RFC 2616 に記載されているように no-store ディレクティブは、
482        "不注意による機密情報の漏洩や残留 (バックアップテープ等) を防ぐ"
483        目的で使われますが、このオプションを有効にすると、
484        機密情報を保持することになってしまいます。
485        ですので、ここで警告しておきます。
486     </note>
487 </usage>
488 <seealso><directive module="mod_cache">CacheIgnoreCacheControl</directive></seealso>
489 <seealso><directive module="mod_cache">CacheStorePrivate</directive></seealso>
490 </directivesynopsis>
491 </modulesynopsis>