blob: 296777a6a5ef3b9036fb55956dd8edede608cf67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
<!-- English Revision: 420990:1330988 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_expires.xml.meta">
<name>mod_expires</name>
<description>ユーザの指定した基準に基づいた <code>Expires</code> と
<code>Cache-Control</code> HTTP ヘッダの生成</description>
<status>Extension</status>
<sourcefile>mod_expires.c</sourcefile>
<identifier>expires_module</identifier>
<summary>
<p>このモジュールはサーバ応答の <code>Expires</code> HTTP ヘッダ
と <code>Cache-Control</code> ヘッダの <code>max-age</code> ディレクティブの
設定を制御します。元のファイルが作成された時刻または
クライアントのアクセス時刻のどちらかに基づいて期限切れ日を
設定することができます。</p>
<p>これらのヘッダはクライアントに文書の
有効性と継続性を指示します。文書がキャッシュされた場合には、
指定時刻に達するまでは、元の場所から取得する代わりに
キャッシュされているものを使うことができます。その後は、
キャッシュにあるコピーは期限切れ (expired) で無効であるとされ、
元の場所から新しいものを取得する必要があります。</p>
<p><code>max-age</code> 以外 (<a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
2616 section 14.9</a> 参照) の <code>Cache-Control</code> のディレクティブを
操作するには <directive
module="mod_headers">Header</directive> ディレクティブを
使うことができます。</p></summary>
<section id="AltSyn"><title>代替期間指定構文</title>
<p><directive module="mod_expires">ExpiresDefault</directive> ディレクティブと
<directive module="mod_expires">ExpiresByType</directive> ディレクティブは
以下のより読み易い構文を使って定義することができます:</p>
<example>
ExpiresDefault "<base> [plus] {<num>
<type>}*"<br />
ExpiresByType type/encoding "<base> [plus]
{<num> <type>}*"
</example>
<p><base> は以下のどれかです:</p>
<ul>
<li><code>access</code></li>
<li><code>now</code> ('<code>access</code>' と等価)</li>
<li><code>modification</code></li>
</ul>
<p><code>plus</code> キーワードは省略可能です。<num>
は (<code>atoi()</code> が受け付ける) 整数値、
<type> は以下のどれかです:</p>
<ul>
<li><code>years</code></li>
<li><code>months</code></li>
<li><code>weeks</code></li>
<li><code>days</code></li>
<li><code>hours</code></li>
<li><code>minutes</code></li>
<li><code>seconds</code></li>
</ul>
<p>例えば、以下のディレクティブはどれもデフォルトで文書がアクセスの 1 ヶ月後に
期限が切れるようにするために使えます:</p>
<example>
ExpiresDefault "access plus 1 month"<br />
ExpiresDefault "access plus 4 weeks"<br />
ExpiresDefault "access plus 30 days"
</example>
<p>期限切れ時刻はいくつか
'<num> <type>' 節を追加することでより細かく
制御することができます:</p>
<example>
ExpiresByType text/html "access plus 1 month 15
days 2 hours"<br />
ExpiresByType image/gif "modification plus 5 hours 3
minutes"
</example>
<p>修正時刻に基づいた設定を使用している場合、Expires ヘッダは
ディスクのファイル以外のコンテンツには<strong>追加されない</strong>ことに注意
してください。そのようなコンテンツには修正時刻は存在しないからです。</p>
</section>
<directivesynopsis>
<name>ExpiresActive</name>
<description><code>Expires</code> ヘッダの生成を有効にする</description>
<syntax>ExpiresActive On|Off</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>Indexes</override>
<usage>
<p>このディレクティブは対応するドキュメントの領域で
<code>Expires</code> と <code>Cache-Control</code>ヘッダを
有効にするか無効にするかを決めます。
(例えば、<code>.htaccess</code> ファイルではそのディレクトリの
文書のみに適用されるということです。) <code>Off</code> に
設定された場合は対応領域でそれらのヘッダは
生成されません (<code>.htaccess</code> がサーバ設定ファイルの設定を
上書きする、というような下位レベルでの上書きがされていなければ)。
<code>On</code> に設定されていれば、ヘッダは <directive
module="mod_expires">ExpiresByType</directive> ディレクティブと
<directive module="mod_expires">ExpiresDefault</directive> ディレクティブ
の基準に従って文書にヘッダを追加します (各ディレクティブ参照)。</p>
<p>このディレクティブは <code>Expires</code> と
<code>Cache-Control</code> ヘッダの存在を
保証するわけではないことに注意してください。基準が満たされて
いない場合はヘッダは追加されず、結果としてこのディレクティブが
指定されていなかったかのようにさえ見えることになります。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ExpiresByType</name>
<description>MIME タイプによって設定される <code>Expires</code> ヘッダの値</description>
<syntax>ExpiresByType <var>MIME-type</var>
<var><code>seconds</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>Indexes</override>
<usage>
<p>このディレクティブは指定されたタイプのドキュメント
(<em>例えば</em> <code>text/html</code>)
に対して生成される <code>Expires</code> ヘッダと <code>Cache-Control</code>
ヘッダの <code>max-age</code> ディレクティブの値を定義します。
二つ目の引数は期限切れの日時を生成するための基準時刻に追加される
秒数を設定します。<code>Cache-Control:
max-age</code> は期限切れの時刻からリクエスト時刻を引いたものを秒で
表すことで生成されます。</p>
<p>基準時刻はファイルの最終修正時刻か、クライアントのドキュメントへの
アクセス時刻です。どちらを使うべきかは <code><var><code></var></code>
によって指定します。<code>M</code> は基準時刻として
ファイルの最終修正時刻をという意味で、<code>A</code> はクライアントの
アクセス時刻を使うという意味になります。</p>
<p>効果には微妙な違いがあります。<code>M</code> が使用された場合は、
すべてのキャッシュにある現在のドキュメントキャッシュは同時に期限が
切れます。これは同じ URL に毎週常に置かれる報せのようなものには
非常に有効です。<code>A</code> が使用された場合は、期限切れの
時間は各クライアントよって異なります。これはあまり変更されない
画像ファイルなど、特に関連するドキュメント群がすべて同じ画像を
参照するとき (<em>すなわち</em>画像が比較的短い期間内に繰り返し
アクセスされるとき) に有効です。</p>
<example><title>例:</title>
# enable expirations<br />
ExpiresActive On<br />
# expire GIF images after a month in the client's cache<br />
ExpiresByType image/gif A2592000<br />
# HTML documents are good for a week from the<br />
# time they were changed<br />
ExpiresByType text/html M604800
</example>
<p>このディレクティブは <code>ExpiresActive On</code> が指定されている
ときのみ有効であることに注意してください。これは、
指定された MIME タイプに対して<em>のみ</em> <directive
module="mod_expires">ExpiresDefault</directive> ディレクティブで
設定された期限切れ期日を上書きします。</p>
<p>この文書の前の方で説明されている<a href="#AltSyn">代替構文</a>を
使って期限切れ期日の計算方法を指定することもできます。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ExpiresDefault</name>
<description>期限切れ期日を計算するデフォルトアルゴリズム</description>
<syntax>ExpiresDefault <var><code>seconds</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>Indexes</override>
<usage>
<p>このディレクティブは対応する範囲のすべてのドキュメントに対して
デフォルトの期限切れ期日の計算アルゴリズムを設定します。<directive
module="mod_expires">ExpiresByType</directive> ディレクティブによって
タイプ毎に上書きすることができます。引数の構文はそのディレクティブの
説明を参照してください。また、<a href="#AltSyn">代替構文</a>も
参照してください。</p>
</usage>
</directivesynopsis>
</modulesynopsis>
|