Apache HTTP Server Version 2.4
설명: | URI를 키로 사용하여 내용을 캐쉬한다. |
---|---|
상태: | Experimental |
모듈명: | cache_module |
소스파일: | mod_cache.c |
mod_cache
는 같은 컴퓨터에 있는 내용이나
프록시된 내용을 캐쉬할 수 있는 RFC 2616
호환 HTTP 내용캐쉬를 구현한다. mod_cache
를
사용하려면 저장관리모듈(storage management module)이 필요하다.
기본 아파치 배포본에는 두가지 저장관리모듈이 있다:
mod_cache_disk
mod_mem_cache
mod_mem_cache
는 파일기술자를 캐쉬하거나
힙(heap) 공간에 객체를 캐쉬하는 두가지 방식중 한가지 방법으로
동작하도록 설정할 수 있다. mod_mem_cache
는
자신이 생성한 내용을 캐쉬하거나, (역프록시(reverse proxy)로
알려진) ProxyPass
를
사용하여 mod_proxy
를 위해 뒷단 서버내용을
캐쉬할 수 있다.내용을 URI를 토대로 만든 키로 캐쉬에 저장하고 가져온다. 접근보호가 된 내용은 캐쉬하지않는다.
관련된 모듈 | 관련된 지시어 |
---|---|
#
# 예제 캐쉬 설정
#
LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
#LoadModule cache_disk_module modules/mod_cache_disk.so
<IfModule mod_cache_disk.c>
CacheRoot c:/cacheroot
CacheSize 256
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>
</IfModule>
설명: | 만기시간을 지정하지않은 문서를 캐쉬할 기본 기간. |
---|---|
문법: | CacheDefaultExpire seconds |
기본값: | CacheDefaultExpire 3600 (one hour) |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
CacheDefaultExpire
지시어는 문서의
만기시간과 최근수정시간이 없는 경우 문서를 캐쉬할 초단위
기본 시간을 지정한다. CacheMaxExpire
로
지정한 값이 이 설정을 무시하지 않는다.
CacheDefaultExpire 86400
설명: | Add an X-Cache-Detail header to the response. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | 특정 URL을 캐쉬하지 않는다 |
---|---|
문법: | CacheDisable url-string |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
CacheDisable
지시어를 사용하면
mod_cache
가 url-string 이하의
url들을 캐쉬하지 않는다.
CacheDisable /local_files
설명: | 지정한 저장관리자를 사용하여 지정한 URL을 캐쉬한다 |
---|---|
문법: | CacheEnable cache_type url-string |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
CacheEnable
지시어를 사용하면
mod_cache
가 url-string 이하
url들을 캐쉬한다. 캐쉬 저장관리자는 cache_type
아규먼트로 지정한다. cache_type mem
은
mod_mem_cache
가 구현하는 메모리기반
저장관리자를 사용한다. cache_type disk
는
mod_cache_disk
가 구현하는 디스크기반
저장관리자를 사용한다. cache_type fd
는
mod_mem_cache
가 구현하는 파일기술자 캐쉬를
사용한다.
(아래 예와 같이) URL 공간이 다른
CacheEnable
지시어와 겹치면 실제로
한 저장관리자가 요청을 처리할때까지 두 저장관리자를 모두
실행한다. 설정파일에서 CacheEnable
지시어의 순서대로 저장관리자가 실행된다.
CacheEnable mem /manual
CacheEnable fd /images
CacheEnable disk /
설명: | Add an X-Cache header to the response. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | 클라이언트가 캐쉬하지않는 내용을 요청함을 무시한다. |
---|---|
문법: | CacheIgnoreCacheControl On|Off |
기본값: | CacheIgnoreCacheControl Off |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
보통 no-cache나 no-store 헤더값을 가진 문서는 캐쉬에
저장하지않는다. CacheIgnoreCacheControl
지시어는 이런 행동을 변경한다.
CacheIgnoreCacheControl
On을 사용하면
서버는 문서에 no-cache나 no-store 헤더값이 있어도 문서를
캐쉬한다. 인증이 필요한 문서는 절대로 캐쉬하지
않는다.
CacheIgnoreCacheControl On
설명: | 캐쉬에 지정한 HTTP 헤더(들)를 저장하지 않는다 |
---|---|
문법: | CacheIgnoreHeaders header-string [header-string] ... |
기본값: | CacheIgnoreHeaders None |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
RFC 2616에 따르면 홉간(hop-by-hop) HTTP 헤더는 캐쉬에
저장하지 않는다. 홉간 HTTP 헤더에는 다음과 같은 것이 있으며,
CacheIgnoreHeaders
설정과 관계없이
어떤 경우에도 캐쉬에 저장되지 않는다.
Connection
Keep-Alive
Proxy-Authenticate
Proxy-Authorization
TE
Trailers
Transfer-Encoding
Upgrade
CacheIgnoreHeaders
는 캐쉬에 저장하면
안되는 HTTP 헤더를 추가로 지정한다. 예를 들어, 쿠키(cookie)를
캐쉬에 저장하면 안되는 경우가 있다.
CacheIgnoreHeaders
는 캐쉬에 저장하지
않을 HTTP 헤더들을 공백으로 구분한 목록을 받는다. (RFC 2616에
따라) 캐쉬에 홉간 헤더만 저장하지 않으려면,
CacheIgnoreHeaders
를
None
으로 설정한다.
CacheIgnoreHeaders Set-Cookie
CacheIgnoreHeaders None
CacheIgnoreHeaders
설정을 사용하여
Expires
같이 캐쉬 관리에 필요한 헤더를 저장하지
않으면, mod_cache는 비정상적으로 동작한다.
설명: | 응답에 Last Modified 헤더가 없다는 사실을 무시한다. |
---|---|
문법: | CacheIgnoreNoLastMod On|Off |
기본값: | CacheIgnoreNoLastMod Off |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
보통 최근수정일이 없는 문서는 캐쉬하지 않는다. 어떤 경우
최근수정일을 (예를 들어 mod_include
처리중에)
빼거나 처음부터 없었을 수가 있다.
CacheIgnoreNoLastMod
지시어는 최근수정일이
없는 문서도 반드시 캐쉬하도록 만든다. 문서에 최근수정일과
만기시간이 없는 경우 CacheDefaultExpire
지시어로 지정한 값을 만기시간으로 사용한다.
CacheIgnoreNoLastMod On
설명: | Ignore query string when caching |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Ignore defined session identifiers encoded in the URL when caching |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Override the base URL of reverse proxied cache keys. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | LastModified 시간으로 만기시간을 계산하는데 사용하는 계수. |
---|---|
문법: | CacheLastModifiedFactor float |
기본값: | CacheLastModifiedFactor 0.1 |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
문서에 만기시간은 없지만 최근수정일이 있는 경우 최근수정일
이후 지난 시간으로 만기시간을 계산한다.
CacheLastModifiedFactor
지시어는
만기시간을 계산하는 다음 공식에서 사용할 factor를
지정한다:
expiry-period = time-since-last-modified-date * factor
expiry-date = current-date + expiry-period
예를 들어, 문서가 10 시간 전에 마지막으로 수정되었고 factor가
0.1이라면 만기기간은 10*01 = 1 시간이 된다. 현재 시간이
3:00pm이라면 만기시간은 3:00pm + 1시간 = 4:00pm이다.
만기기간이 CacheMaxExpire
보다 길다면
CacheMaxExpire
를 사용한다.
CacheLastModifiedFactor 0.5
설명: | Enable the thundering herd lock. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Set the maximum possible age of a cache lock. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Set the lock path directory. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | 문서를 캐쉬하는 초단위 최대시간 |
---|---|
문법: | CacheMaxExpire seconds |
기본값: | CacheMaxExpire 86400 (하루) |
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
CacheMaxExpire
지시어는 실제 서버를
검사하지않고 캐쉬가능한 HTTP 문서를 유지할 수 있는 초단위
최대시간을 지정한다. 즉, 문서는 최대한 이 설정값만큼 오래되었다.
문서가 만기시간을 지정하여도 이 최대값을 지킨다.
CacheMaxExpire 604800
설명: | The minimum time in seconds to cache a document |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Run the cache from the quick handler. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트 |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Serve stale content in place of 5xx responses. |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.
설명: | Attempt to cache responses that the server reports as expired |
---|---|
문법: |
|
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
상태: | Experimental |
모듈: | mod_cache |
Documentation not yet translated. Please see English version of document.