mirror of
https://github.com/apache/httpd.git
synced 2025-05-31 12:21:16 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103107 13f79535-47bb-0310-9956-ffa450edef68
324 lines
12 KiB
XML
324 lines
12 KiB
XML
<?xml version="1.0" encoding="EUC-KR" ?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
|
<!-- English Revision: 1.16 -->
|
|
|
|
<!--
|
|
Copyright 2003-2004 The Apache Software Foundation
|
|
|
|
Licensed 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_cache.xml.meta">
|
|
|
|
<name>mod_cache</name>
|
|
<description>Content cache keyed to URIs.</description>
|
|
<status>Experimental</status>
|
|
<sourcefile>mod_cache.c</sourcefile>
|
|
<identifier>cache_module</identifier>
|
|
|
|
<summary>
|
|
<note type="warning">
|
|
이 모듈은 실험적인 상태이다. 문서는 아직 작업중이다...
|
|
</note>
|
|
|
|
<p><module>mod_cache</module>는 같은 컴퓨터에 있는 내용이나
|
|
프록시된 내용을 캐쉬할 수 있는 <a
|
|
href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>
|
|
호환 HTTP 내용캐쉬를 구현한다. <module>mod_cache</module>를
|
|
사용하려면 저장관리모듈(storage management module)이 필요하다.
|
|
기본 아파치 배포본에는 두가지 저장관리모듈이 있다:</p>
|
|
<dl>
|
|
<dt><module>mod_disk_cache</module></dt>
|
|
<dd>는 디스크기반 저장관리자를 구현한다.</dd>
|
|
|
|
<dt><module>mod_mem_cache</module></dt>
|
|
<dd>는 메모리기반 저장관리자를 구현한다.
|
|
<module>mod_mem_cache</module>는 파일기술자를 캐쉬하거나
|
|
힙(heap) 공간에 객체를 캐쉬하는 두가지 방식중 한가지 방법으로
|
|
동작하도록 설정할 수 있다. <module>mod_mem_cache</module>는
|
|
자신이 생성한 내용을 캐쉬하거나, (<dfn>역프록시(reverse proxy)</dfn>로
|
|
알려진) <directive module="mod_proxy">ProxyPass</directive>를
|
|
사용하여 <module>mod_proxy</module>를 위해 뒷단 서버내용을
|
|
캐쉬할 수 있다.</dd>
|
|
</dl>
|
|
|
|
<p>내용을 URI를 토대로 만든 키로 캐쉬에 저장하고 가져온다.
|
|
접근보호가 된 내용은 캐쉬하지않는다.</p>
|
|
</summary>
|
|
|
|
<section id="related"><title>관련된 모듈과 지시어</title>
|
|
<related>
|
|
<modulelist>
|
|
<module>mod_disk_cache</module>
|
|
<module>mod_mem_cache</module>
|
|
</modulelist>
|
|
<directivelist>
|
|
<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>
|
|
</directivelist>
|
|
</related>
|
|
</section>
|
|
|
|
<section id="sampleconf"><title>설정예</title>
|
|
<example><title>Sample httpd.conf</title>
|
|
#<br />
|
|
# 예제 캐쉬 설정<br />
|
|
#<br />
|
|
LoadModule cache_module modules/mod_cache.so<br />
|
|
<br />
|
|
<IfModule mod_cache.c><br />
|
|
<indent>
|
|
#LoadModule disk_cache_module modules/mod_disk_cache.so<br />
|
|
<IfModule mod_disk_cache.c><br />
|
|
<indent>
|
|
CacheRoot c:/cacheroot<br />
|
|
CacheSize 256<br />
|
|
CacheEnable disk /<br />
|
|
CacheDirLevels 5<br />
|
|
CacheDirLength 3<br />
|
|
</indent>
|
|
</IfModule> <br />
|
|
<br />
|
|
LoadModule mem_cache_module modules/mod_mem_cache.so<br />
|
|
<IfModule mod_mem_cache.c><br />
|
|
<indent>
|
|
CacheEnable mem /<br />
|
|
MCacheSize 4096<br />
|
|
MCacheMaxObjectCount 100<br />
|
|
MCacheMinObjectSize 1<br />
|
|
MCacheMaxObjectSize 2048<br />
|
|
</indent>
|
|
</IfModule><br />
|
|
</indent>
|
|
</IfModule>
|
|
</example>
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheEnable</name>
|
|
<description>지정한 저장관리자를 사용하여 지정한 URL을 캐쉬한다</description>
|
|
<syntax>CacheEnable <var>cache_type</var> <var>url-string</var></syntax>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p><directive>CacheEnable</directive> 지시어를 사용하면
|
|
<module>mod_cache</module>가 <var>url-string</var> 이하
|
|
url들을 캐쉬한다. 캐쉬 저장관리자는 <var>cache_type</var>
|
|
아규먼트로 지정한다. <var>cache_type</var> <code>mem</code>은
|
|
<module>mod_mem_cache</module>가 구현하는 메모리기반
|
|
저장관리자를 사용한다. <var>cache_type</var> <code>disk</code>는
|
|
<module>mod_disk_cache</module>가 구현하는 디스크기반
|
|
저장관리자를 사용한다. <var>cache_type</var> <code>fd</code>는
|
|
<module>mod_mem_cache</module>가 구현하는 파일기술자 캐쉬를
|
|
사용한다.</p>
|
|
<p>(아래 예와 같이) URL 공간이 다른
|
|
<directive>CacheEnable</directive> 지시어와 겹치면 실제로
|
|
한 저장관리자가 요청을 처리할때까지 두 저장관리자를 모두
|
|
실행한다. 설정파일에서 <directive>CacheEnable</directive>
|
|
지시어의 순서대로 저장관리자가 실행된다.</p>
|
|
|
|
<example>
|
|
CacheEnable mem /manual<br />
|
|
CacheEnable fd /images<br />
|
|
CacheEnable disk /<br />
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheDisable</name>
|
|
<description>특정 URL을 캐쉬하지 않는다</description>
|
|
<syntax>CacheDisable <var> url-string</var></syntax>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p><directive>CacheDisable</directive> 지시어를 사용하면
|
|
<module>mod_cache</module>가 <var>url-string</var> 이하의
|
|
url들을 캐쉬하지 <em>않는다</em>.</p>
|
|
|
|
<example><title>예제</title>
|
|
CacheDisable /local_files
|
|
</example>
|
|
</usage>
|
|
|
|
</directivesynopsis>
|
|
<directivesynopsis>
|
|
<name>CacheMaxExpire</name>
|
|
<description>문서를 캐쉬하는 초단위 최대시간</description>
|
|
<syntax>CacheMaxExpire <var>seconds</var></syntax>
|
|
<default>CacheMaxExpire 86400 (하루)</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p><directive>CacheMaxExpire</directive> 지시어는 실제 서버를
|
|
검사하지않고 캐쉬가능한 HTTP 문서를 유지할 수 있는 초단위
|
|
최대시간을 지정한다. 즉, 문서는 최대한 이 설정값만큼 오래되었다.
|
|
문서가 만기시간을 지정하여도 이 최대값을 지킨다.</p>
|
|
|
|
<example>
|
|
CacheMaxExpire 604800
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheDefaultExpire</name>
|
|
<description>만기시간을 지정하지않은 문서를 캐쉬할 기본 기간.</description>
|
|
<syntax>CacheDefaultExpire <var>seconds</var></syntax>
|
|
<default>CacheDefaultExpire 3600 (one hour)</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p><directive>CacheDefaultExpire</directive> 지시어는 문서의
|
|
만기시간과 최근수정시간이 없는 경우 문서를 캐쉬할 초단위
|
|
기본 시간을 지정한다. <directive>CacheMaxExpire</directive>로
|
|
지정한 값이 이 설정을 무시하지 <em>않는다</em>.</p>
|
|
|
|
<example>
|
|
CacheDefaultExpire 86400
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheIgnoreNoLastMod</name>
|
|
<description>응답에 Last Modified 헤더가 없다는 사실을 무시한다.</description>
|
|
<syntax>CacheIgnoreNoLastMod On|Off</syntax>
|
|
<default>CacheIgnoreNoLastMod Off</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>보통 최근수정일이 없는 문서는 캐쉬하지 않는다. 어떤 경우
|
|
최근수정일을 (예를 들어 <module>mod_include</module> 처리중에)
|
|
빼거나 처음부터 없었을 수가 있다.
|
|
<directive>CacheIgnoreNoLastMod</directive> 지시어는 최근수정일이
|
|
없는 문서도 반드시 캐쉬하도록 만든다. 문서에 최근수정일과
|
|
만기시간이 없는 경우 <directive>CacheDefaultExpire</directive>
|
|
지시어로 지정한 값을 만기시간으로 사용한다.</p>
|
|
|
|
<example>
|
|
CacheIgnoreNoLastMod On
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheIgnoreCacheControl</name>
|
|
<description>클라이언트가 캐쉬하지않는 내용을 요청함을 무시한다.</description>
|
|
<syntax>CacheIgnoreCacheControl On|Off</syntax>
|
|
<default>CacheIgnoreCacheControl Off</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>보통 no-cache나 no-store 헤더값을 가진 문서는 캐쉬에
|
|
저장하지않는다. <directive>CacheIgnoreCacheControl</directive>
|
|
지시어는 이런 행동을 변경한다.
|
|
<directive>CacheIgnoreCacheControl</directive> On을 사용하면
|
|
서버는 문서에 no-cache나 no-store 헤더값이 있어도 문서를
|
|
캐쉬한다. 인증이 필요한 문서는 <em>절대로</em> 캐쉬하지
|
|
않는다.</p>
|
|
|
|
<example>
|
|
CacheIgnoreCacheControl On
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheLastModifiedFactor</name>
|
|
<description>LastModified 시간으로 만기시간을 계산하는데 사용하는
|
|
계수.</description>
|
|
<syntax>CacheLastModifiedFactor <var>float</var></syntax>
|
|
<default>CacheLastModifiedFactor 0.1</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>문서에 만기시간은 없지만 최근수정일이 있는 경우 최근수정일
|
|
이후 지난 시간으로 만기시간을 계산한다.
|
|
<directive>CacheLastModifiedFactor</directive> 지시어는
|
|
만기시간을 계산하는 다음 공식에서 사용할 <var>factor</var>를
|
|
지정한다:
|
|
|
|
<code>expiry-period = time-since-last-modified-date * <var>factor</var>
|
|
expiry-date = current-date + expiry-period</code>
|
|
|
|
예를 들어, 문서가 10 시간 전에 마지막으로 수정되었고 <var>factor</var>가
|
|
0.1이라면 만기기간은 10*01 = 1 시간이 된다. 현재 시간이
|
|
3:00pm이라면 만기시간은 3:00pm + 1시간 = 4:00pm이다.
|
|
|
|
만기기간이 <directive>CacheMaxExpire</directive> 보다 길다면
|
|
<directive>CacheMaxExpire</directive>를 사용한다.</p>
|
|
|
|
<example>
|
|
CacheLastModifiedFactor 0.5
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CacheForceCompletion</name>
|
|
<description>요청이 취소되더라도 서버가 파일을 계속 캐쉬하기위해
|
|
필요한 문서의 서비스률.</description>
|
|
<syntax>CacheForceCompletion <var>Percentage</var></syntax>
|
|
<default>CacheForceCompletion 60</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>보통 응답을 캐쉬하고 클라이언트로 보내는 도중에 요청이
|
|
취소되면 응답 처리를 중단되고 캐쉬 항목을 지운다.
|
|
<directive>CacheForceCompletion</directive> 지시어는 요청이
|
|
취소되더라도 문서를 계속 캐쉬할 정도를 지정한다.</p>
|
|
|
|
<p>정도는 백분율로 나타내며 <code>1</code>과 <code>100</code>
|
|
사이의 값이다. <code>0</code> 값을 지정하면 기본값을 사용한다.
|
|
<code>100</code>은 내용을 모두 서비스한 문서만을 캐쉬한다.
|
|
60과 90 사이의 값을 추천한다.</p>
|
|
|
|
<example>
|
|
CacheForceCompletion 80
|
|
</example>
|
|
|
|
<note type="warning"><title>주의:</title>
|
|
이 기능은 현재 구현되지 <em>않았다</em>.
|
|
</note>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|