$B$3$l$O<
B83E*$
J%
b%
8%
e!<%k$G$9!#J8=q$b$^$@3+
H/
Cf$G$9(B...
<
p><
module>mod_cache</
module> $B$O%m!<%+%
k$
N%
3%
s%
F%
s%
D$
d%
W%
m%-%
7$
5$
l$?(
B $
B%
3%
s%
F%
s%
D$
r%-%
c%
C%
7%
e$
9$
k$?$
a$
K;
H$
o$
l$
k(
B <a
HTTP $B%3%s%F%s%D%-%c%C%7%e$r<
BAu$
7$
F$$$^$
9!#(
B<module>mod_cache</
module>
$B$NF0:n$K$O%9%H%l!<%
8$
r4IM}$
9$
k%
b%
8%
e!<%k$,I,MW$G$9!#I8=`(B
Apache $BG[I[$K$OFs$D%9%H%l!<%
84IM}%
b%
8%
e!<%k$,4^$^$l$F$$$^$9(B:</
p>
<
dt><
module>mod_disk_cache</
module></
dt>
<
dd>$B%G%#%9%/$r;HMQ$7$?%9%H%l!<%
84IM}
5!
9=$
r<BAu$7$F$$$^$9!#(B</
dd>
<
dt><
module>mod_mem_cache</
module></
dt>
<
dd>$B%a%b%j$r;HMQ$7$?%9%H%l!<%
84IM}
5!
9=$
r<BAu$7$F$$$^$9!#(B
<
module>mod_mem_cache</
module> $B$O<!$
NFs$
D$
N%
b!<%I$N$I$A$i$+$GF0:n$9$k(B
$B$h$&$K@_Dj$G$-$^$9(B: $B%*!<%
W%
s$
5$
l$
F$$$
k%
U%!%$%
k5-=
R;
R$
r%-%
c%
C%
7%
e$
9$
k%
b!<%I$+!"(B
$B%R!<%
W>e$G$N%*%V%8%'%/%H$N<+
BN$
r%-%
c%
C%
7%
e$
r$
9$
k%
b!<%I$G$9!#(B
<
module>mod_mem_cache</
module> $B$O%m!<%+%
k$
G@
8@.$
5$
l$
k%
3%
s%
F%
s%
D$
d!
"(B <module>mod_proxy</module> $B$,(B <directive module="mod_proxy">ProxyPass</directive> $B$r;H$C$F@_Dj$5$l$F$$$k(B $B$H$-$N(B ($B$D$^$j(B<dfn>$B%j%P!<%9%W%m%-%7(B</dfn> $B$G$N(B) $B%P%C%/%(%s%I%5!<%P$N(B $B%3%s%F%s%D$r%-%c%C%7%e$9$k$N$K;H$($^$9!#(B</dd> <p>$B%3%s%F%s%D$N%-%c%C%7%e$X$NJ]B8$H<hF@$O(B URI $B$K4p$E$$$?%-!<$,;H$o$l$^$9!#(B $B%"%/%;%
9J]
8n$
N$+$
1$
i$
l$
F$$$
k%
3%
s%
F%
s%
D$
O%-%
c%
C%
7%
e$
5$
l$^$;$
s!#(
B</p>
<
section id="related"><
title>$B4XO"%b%8%e!<%
k$
H%
G%#%
l%/%
F%#%
V(
B</title>
<
module>mod_disk_cache</
module>
<
module>mod_mem_cache</
module>
<
directive module="mod_disk_cache">CacheRoot</
directive>
<
directive module="mod_disk_cache">CacheSize</
directive>
<
directive module="mod_disk_cache">CacheGcInterval</
directive>
<
directive module="mod_disk_cache">CacheDirLevels</
directive>
<
directive module="mod_disk_cache">CacheDirLength</
directive>
<
directive module="mod_disk_cache">CacheExpiryCheck</
directive>
<
directive module="mod_disk_cache">CacheMinFileSize</
directive>
<
directive module="mod_disk_cache">CacheMaxFileSize</
directive>
<
directive module="mod_disk_cache">CacheTimeMargin</
directive>
<
directive module="mod_disk_cache">CacheGcDaily</
directive>
<
directive module="mod_disk_cache">CacheGcUnused</
directive>
<
directive module="mod_disk_cache">CacheGcClean</
directive>
<
directive module="mod_disk_cache">CacheGcMemUsage</
directive>
<
directive module="mod_mem_cache">MCacheSize</
directive>
<
directive module="mod_mem_cache">MCacheMaxObjectCount</
directive>
<
directive module="mod_mem_cache">MCacheMinObjectSize</
directive>
<
directive module="mod_mem_cache">MCacheMaxObjectSize</
directive>
<
directive module="mod_mem_cache">MCacheRemovalAlgorithm</
directive>
<
directive module="mod_mem_cache">MCacheMaxStreamingBuffer</
directive>
<
section id="sampleconf"><
title>$B%5%s%W%k@_Dj(B</
title>
# Sample Cache Configuration<
br />
# If you want to use mod_disk_cache instead of mod_mem_cache,
# uncomment the line above and comment out the LoadModule line below.
CacheRoot c:/cacheroot<
br />
MCacheMaxObjectCount 100<
br />
MCacheMinObjectSize 1<
br />
MCacheMaxObjectSize 2048<
br />
<
description>$B;XDj$7$?%9%H%l!<%
84IM}
J}<0$r;H$C$F$N%-%c%C%7%e$rM-8z$K$9$k(B</
description>
<
syntax>CacheEnable <
var>cache_type</
var> <
var>url-string</
var></
syntax>
<
contextlist><
context>server config</
context><
context>virtual host</
context>
<
p><
directive>CacheEnable</
directive> $B%G%#%l%/%F%#%V$G(B <
module>mod_cache</
module>
$B%b%8%e!<%
k$,(
B <var>url-string</
var> $B0J2<$
N(
B URL $
B$
r%-%
c%
C%
7%
e$
9$
k$
h$&$
K$
7$^$
9!#(
B $
B%-%
c%
C%
7%
e%
9%
H%
l!<%84IM}J}<
0$
O(
B <var>cache_type</
var> $B0z?t$G;XDj$7$^$9!#(B
<
var>cache_type</
var> <
code> mem</
code> $B$G!"(B
<
module>mod_mem_cache</
module> $B$G<
BAu$
5$
l$
F$$$
k%
a%
b%
j$
r;
H$
C$?%
9%
H%
l!<%8(B
$B4IM}J}<
0$
r;
H$&$
h$&$
K(
B <module>mod_cache</
module> $B$K;X<($
7$^$
9!#(
B <var>cache_type</
var> <
code>disk</
code> $B$G!"(B
<
module>mod_disk_cache</
module> $B$G<
BAu$
5$
l$
F$$$
k%
G%#%
9%/$
r;
H$
C$?%
9%
H%
l!<%8(B
$B4IM}$r;H$&$h$&$K(B <
module>mod_cache</
module> $B$K;X<($
7$^$
9!#(
B <var>cache_type</
var> <
code>fd</
code> $B$O(B <
module>mod_cache</
module> $B$K(B
<
module>mod_mem_cache</
module> $B$K$h$j<
BAu$
5$
l$
F$$$
k%
U%!%$%
k5-=
R;
R$
N(
B $
B%-%
c%
C%
7%
e$
r;
H$&$
h$&$
K;
X<($7$^$9!#(B</
p>
<
p>($B2<$
NNc$
N$
h$&$
K(
B) <directive>CacheEnable</
directive> $B%G%#%l%/%F%#%V$N(B
URL $B6u4V$,=EJ#$7$F$$$k$H$-$O!"3:Ev$9$k%9%H%l!<%
8J}<0$r=g$K;n$7$F!"(B
$B<
B:]$
K%
j%/%(%
9%
H$
N=hM}$,$
G$-$
k$
H!
"$=$NJ}<0$G=hM}$7$^$9!#(B $B%9%H%l!<%84IM}J}<0$,<B9T$5$l$k=gHV$O@_Dj%U%!%$%kCf$N(B <directive>CacheEnable</directive> $B$N=gHV$K$h$j7hDj$5$l$^$9!#(B</p> CacheEnable mem /manual<br /> CacheEnable fd /images<br /> <name>CacheDisable</name> <description>$BFCDj$N(B URL $B$r%-%c%C%7%e$7$J$$(B</description> <syntax>CacheDisable <var> url-string</var></syntax> <contextlist><context>server config</context><context>virtual host</context> <p><directive>CacheDisable</directive> $B%G%#%l%/%F%#%V$G(B <module>mod_cache</module> $B%b%8%e!<%k$,(B <var>url-string</var> $B0J2<$N(B URL $B$r%-%c%C%7%e(B<em>$B$7$J$$(B</em>$B$h$&$K$7$^$9!#(B</p> <example><title>$BNc(B</title> CacheDisable /local_files <name>CacheMaxExpire</name> <description>$B%I%-%e%a%s%H$r%-%c%C%7%e$9$k:GBg;~4V$rIC?t$G8=$7$?$b$N(B</description> <syntax>CacheMaxExpire <var>seconds</var></syntax> <default>CacheMaxExpire 86400 ($B0lF|(B)</default> <contextlist><context>server config</context><context>virtual host</context> <p><directive>CacheMaxExpire</directive> $B%G%#%l%/%F%#%V$O!"(
B $
B%-%
c%
C%
7%
e$
9$
k(
B HTTP $
B%
I%-%
e%
a%
s%
H$
r!
"85$N%5!<%PLd$$9g$o$;$J$$$^$^:GBg2?IC(B $BJ];}$7$F$b$h$$$+$r;XDj$7$^$9!#$D$^$j!"%
I%-%
e%
a%
s%
H$
O:
GBg$
G$
3$
NIC?
t4VJ,
8E$/(
B $
B$
J$
k$
3$
H$
K$
J$
j$^$
9!#$
3$
N:
GBgCM$
O!
"(B($BLuCm(B:$B%l%9%]%s%9Cf$G(B)$B%I%-%e%a%s%H$H6&$K(B $B%I%-%e%a%s%H$N4|F|$,Ds6!$5$l$F$$$k>l9g$G$bE,MQ$5$l$^$9!#(B</p> <name>CacheDefaultExpire</name> <description>$B4|F|$,;XDj$5$l$F$$$J$$$H$-$K%I%-%e%a%s%H$r%-%c%C%7%e$9$k%G%U%)%k%H$N4|4V(B</description> <syntax>CacheDefaultExpire <var>seconds</var></syntax> <default>CacheDefaultExpire 3600 (1$B;~4V(B)</default> <contextlist><context>server config</context><context>virtual host</context> <p><directive>CacheDefaultExpire</directive> $B%G%#%l%/%F%#%V$O%I%-%e%a%s%H$K(B $B4|F|(B (expiry) $B$d:G=*=$@5;~9o(B (last-modified) $B$,;XDj$5$l$F$$$J$$>l9g$N(B $B%G%U%)%k%H$N;~4V$r;XDj$7$^$9!#(B<directive>CacheMaxExpire</directive> $B%G%#%l%/%F%#%V$G;XDj$5$l$?CM$O$3$N@_Dj$r>e=q$-(B<em>$B$7$^$;$s(B</em>$B!#(B</p> <name>CacheIgnoreNoLastMod</name> <description>$B1~Ez$K(B Last Modified $B$,L5$/$F$b5$$K$7$J$$$h$&$K$9$k(B</description> <syntax>CacheIgnoreNoLastMod On|Off</syntax> <default>CacheIgnoreNoLastMod Off</default> <contextlist><context>server config</context><context>virtual host</context> <p>$BDL>o!"(
BLast-
Modified $
B$
K$
h$
k:
G=*=$@
5;~
9o$
NL5$$%
I%-%
e%
a%
s%
H$
O%-%
c%
C%
7%
e(
B $
B$
5$
l$^$;$
s!#(
B($
BNc$($
P(
B <module>mod_include</
module> $B$K$h$k=hM}$N$H$-$J$I$K(B)
Last-Modified $B;~9o$,>C5n$5$l$?$j!"$=$b$=$b:G=i$+$iDs6!$5$l$F$$$J$$(B
$B>u67$,$"$j$^$9!#(B<
directive>CacheIgnoreNoLastMod</
directive> $B%G%#%l%/%F%#%V$O(B
Last-Modified $BF|;~$,;XDj$5$l$F$$$J$$%I%-%e%a%s%H$G$b!"$=$lL5$7$G(B
$B%-%c%C%7%e$9$k$h$&$K;XDj$9$k$3$H$,$G$-$^$9!#%I%-%e%a%s%H$K(B
$B:G=*=$@5;~9o(B (Last-Modified) $B4|F|(B (expiry) $B$,$J$$>l9g$O!"4|F|$N(B
$B@8@.$K(B <
directive>CacheDefaultExpire</
directive> $B$,;H$o$l$^$9!#(B</
p>
<
name>CacheIgnoreCacheControl</
name>
<
description>$B%/%i%$%"%s%H$,%3%s%F%s%D$r%-%c%C%7%e$7$J$$$h$&$K;X<($
7$
F$
bL5;
k$
9$
k!#(
B</description>
<
syntax>CacheIgnoreCacheControl On|Off</
syntax>
<
default>CacheIgnoreCacheControl Off</
default>
<
contextlist><
context>server config</
context><
context>virtual host</
context>
<
p>no-cache $B%X%C%@$d(B no-store $B%X%C%@$N$"$k%I%-%e%a%s%H$ODL>o%-%c%C%7%e(B
$B$5$l$^$;$s!#(B<
directive>CacheIgnoreCacheControl</
directive> $B%G%#%l%/%F%#%V(B
$B$G$3$NF0:n$r>e=q$-$G$-$k$h$&$K$J$j$^$9!#(B
<
directive>CacheIgnoreCacheControl</
directive> On $B$H$9$k$H%5!<%
P$
K(
B $
B%
I%-%
e%
a%
s%
H$
K(
B no-
cache $
B$
d(
B no-
store $
B%
X%
C%@$,$
"$C$?$H$7$F$b%I%-%e%a%s%H$r(B $B%-%c%C%7%e$9$k$h$&$K;X<($7$^$9!#G'>Z$rI,MW$H$9$k%I%-%e%a%s%H$O(B<em>$B7h$7$F(B</em> $B%-%c%C%7%e$5$l$^$;$s!#(B</p> CacheIgnoreCacheControl On <name>CacheLastModifiedFactor</name> <description>LastModified $B$NF|IU$K4p$E$$$F(B Expiry $B$NF|IU$r7W;;$9$k$?$a$N=E$_$r(B <syntax>CacheLastModifiedFactor <var>float</var></syntax> <default>CacheLastModifiedFactor 0.1</default> <contextlist><context>server config</context><context>virtual host</context> <p>$B%I%-%e%a%s%H$K(B Last-Modified $B$NF|IU$,L5$$$1$l$I$b(B Expiry $B$NF|IU$,(B $B$"$
k$
H$$$&$
H$-$
K!
"(BExpiry $BF|$r:G=*=$@5;~9o$+$i$N7P2a;~4V$H$7$F7W;;$9$k(B $B$h$&$K$G$-$^$9!#(BExpiry $BF|$r<!$N7W;;<0$K=>$C$F@8@.$9$k$N$G$9$,!"(
B $
B$=$
N$
H$-$
K;
H$
o$
l$
k(
B <var>factor</
var> $B$r(B
<
directive>CacheLastModifiedFactor</
directive> $B%G%#%l%/%F%#%V$G;XDj$7$^$9!#(B
<
p><
code>expiry-period = time-since-last-modified-date * <
var>factor</
var>
expiry-date = current-date + expiry-period</
code></
p>
<
p>$BNc$($P!"%I%-%e%a%s%H$,(B 10 $B;~4VA0$K:G8e$K=$@5$5$l$F$$$F!"(B
<
var>factor</
var> $B$,(B 0.1 $B$G$"$l$P!"4|F|$O(B 10*0.1 = 1 $B;~4V$K(B
$B@_Dj$5$l$^$9!#8=:_;~9o$,(B 3:00pm $B$G$"$l$P!"7W;;$5$l$?4|F|$O(B
3:00pm + 1hour = 4:00pm $B$K$J$j$^$9!#(B</
p>
<
p>$B4|F|$,(B <
directive>CacheMaxExpire</
directive> $B$G@_Dj$5$l$F$$$kCM(B
$B$h$jBg$-$/$J$C$F$7$^$C$F$$$k>l9g$O!"(B<
directive>CacheMaxExpire</
directive>
$B$N@_DjCM$,M%@h$5$l$^$9!#(B</
p>
CacheLastModifiedFactor 0.5
<
name>CacheForceCompletion</
name>
<
description>$B%j%/%(%9%H$,%-%c%s%;%k$5$l$F$b%-%c%C%7%e$r40N;$9$k$+$I$&$+$r(B
$B7h$a$kAw$i$l$?%I%-%e%a%s%H$N3d9g$r;XDj$9$k!#(B</
description>
<
syntax>CacheForceCompletion <
var>Percentage</
var></
syntax>
<
default>CacheForceCompletion 60</
default>
<
contextlist><
context>server config</
context><
context>virtual host</
context>
<
p>$BDL>o!"1~Ez$,%-%c%C%7%e$5$l$F%/%i%$%"%s%H$KAw$i$l$F$$$k:GCf$K(B
$B%j%/%(%9%H$,%-%c%s%;%k$5$l$k$H!"1~Ez$N=hM}$OCf;_$5$l$F!"%-%c%C%7%e$N(B
$B%(%s%H%j$b:o=|$5$l$^$9!#(B<
directive>CacheForceCompletion</
directive>
$B%G%#%l%/%F%#%V$O!"%j%/%(%9%H$,%-%c%s%;%k$5$l$F$b!"%-%c%C%7%e=hM}$r(B
$B40N;$^$GB3$1$k$+$I$&$+$N$7$-$$CM$r;XDj$7$^$9!#(B</
p>
<
p>$B$7$-$$CM$O(B <
code>1</
code> $B$H(B <
code>100</
code> $B$N4V$G;XDj$9$k(B
$B3d9g$G$9!#(B<
code>0</
code> $B$G$O%G%U%)%k%H$,;H$o$l$^$9!#(B
<
code>100</
code> $B$G$O!"40A4$KAw?.$,40N;$7$?%I%-%e%a%s%H$N$_$r(B
$B%-%c%C%7%e$7$^$9!#(B60 $B$+$i(B 90 $B$N4V$NCM$,?d>)CM$G$9!#(B</
p>
<
note type="warning"><
title>$BCm(B:</
title>
$B$3$N5!G=$O8=;~E@$G$O<
BAu$
5$
l$
F(
B<em>$B$$$^$;$s(B</
em>$B!#(B
<
name>CacheIgnoreHeaders</
name>
<
description>$B;XDj$5$l$?(B HTTP $B%X%C%@$r%-%c%C%7%e$KJ]B8$7$J$$!#(B
<
syntax>CacheIgnoreHeaders <
var>header-string</
var> [<
var>header-string</
var>] ...</
syntax>
<
default>CacheIgnoreHeaders None</
default>
<
contextlist><
context>server config</
context><
context>virtual host</
context>
<
p>RFC 2616 $B$K$h$k$H!"(Bhop-by-hop HTTP $B%X%C%@$O%-%c%C%7%e$K$OJ]4I$5$l$^$;$s!#(B
$B0J2<$
N%
X%
C%@$
O(
B hop-
by-
hop $
B%
X%
C%@$
K3:
Ev$
7$^$
9$
N$
G!
"(B <directive>CacheIgnoreHeaders</directive> $B$N@_Dj$K(B<em>$B4X78$J$/(B</em>$B%-%c%C%7%e$K$OJ]4I$5$l$^$;$s(B:</p> <li><code>Connection</code></li> <li><code>Keep-Alive</code></li> <li><code>Proxy-Authenticate</code></li> <li><code>Proxy-Authorization</code></li> <li><code>Trailers</code></li> <li><code>Transfer-Encoding</code></li> <li><code>Upgrade</code></li> <p><directive>CacheIgnoreHeaders</directive> $B$G(B $B%-%c%C%7%e$KJ]4I$7$J$$DI2C$N(B HTTP $B%X%C%@$r;XDj$7$^$9!#(B $BNc$($P!"%/%
C%-!<$r%-%c%C%7%e$KJ]4I$7$J$$$h$&$K$7$?J}$,$h$$>l9g$b(B
<
p><
directive>CacheIgnoreHeaders</
directive> $B$N0z?t$O!"(B
$B%-%c%C%7%e$KJ]4I$7$J$$(B HTTP $B%X%C%@$r6uGr6h@Z$j$K$7$?%j%9%H7A<
0$
G$
9!#(
B $
B%-%
c%
C%
7%
e$
KJ]
4I$
7$
J$$%
X%
C%@$,(
B hop-
by-
hop $
B%
X%
C%@$@$
1$
N>l9g(B
(RFC 2616 $B=`5r$NF0:n$N$H$-(B) $B$O!"(B
<
directive>CacheIgnoreHeaders</
directive> $B$r(B <
code>None</
code>
<
example><
title>$BNc(B 1</
title>
CacheIgnoreHeaders Set-Cookie
<
example><
title>$BNc(B 2</
title>
<
note type="warning"><
title>$B7Y9p(B:</
title>
<
code>Expires</
code> $B$N$h$&$JE,@Z$N%-%c%C%7%e4IM}$N$?$a$KI,MW$J(B
$B%X%C%@$,(B <
directive>CacheIgnoreHeaders</
directive> $B$N@_Dj$K$h$j(B
$BJ]4I$5$l$F$$$J$$$H$-$O!"(Bmod_cache $B$NF0:n$ODj5A$5$l$F$$$^$;$s!#(B