mirror of
https://github.com/apache/httpd.git
synced 2025-05-30 01:07:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421136 13f79535-47bb-0310-9956-ffa450edef68
212 lines
7.9 KiB
XML
212 lines
7.9 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: 420990 -->
|
|
|
|
<!--
|
|
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> HTTP 헤더의 <code>max-age</code>
|
|
지시어 설정을 조절한다. 만기일을 파일이 마직막 수정된 시간
|
|
혹은 클라이언트가 접속한 시간에 상대적으로 설정할 수 있다.</p>
|
|
|
|
<p>이 HTTP 헤더들은 클라이언트에게 문서의
|
|
유효성과 지속성을 알려준다. 이 시간이 아직 지나지않았다면,
|
|
문서를 캐쉬에서 가져와도 된다. 만기일이 지났다면 캐쉬된
|
|
것을 "만료되고" 유효하지 않다고 간주하여, 소스에서 문서를
|
|
새로 얻어와야 한다.</p>
|
|
|
|
<p><directive module="mod_headers">Header</directive> 지시어를
|
|
사용하여 <code>max-age</code> 외의 다른
|
|
<code>Cache-Control</code> 지시어(<a
|
|
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
|
|
2616, 14.9 절</a> 참고)를 수정할 수 있다.</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>만약 수정시간(modification)을 기준으로 만기시간을 설정하는
|
|
경우 내용을 디스크에 있는 파일에서 가져오지 않는다면 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>.htaccess</code>
|
|
파일에서 사용한다면 그 디렉토리 아래에 있는 문서들만 해당된다.)
|
|
<code>Expires</code>와 <code>Cache-Control</code> 헤더를
|
|
생성할지 유무를 결정한다. (<code>.htaccess</code> 파일 등으로
|
|
더 하위 단계에서 서버설정을 변경하지않는 한)
|
|
<code>Off</code>이면 해당 영역에 있는 문서에 이들 헤더를
|
|
생성하지 않는다. <code>On</code>이면 <directive
|
|
module="mod_expires">ExpiresByType</directive>과 <directive
|
|
module="mod_expires">ExpiresDefault</directive> 지시어로
|
|
(<em>해당 항목을 참고하라</em>) 지정한 규칙에 따라 서비스하려는
|
|
문서에 이 헤더들을 생성한다.</p>
|
|
|
|
<p>이 지시어가 <code>Expires</code>나 <code>Cache-Control</code>
|
|
헤더를 보장하지는 않는다. 규칙에 해당하지 않다면 마치 이
|
|
지시어가 없는 것처럼 헤더를 만들지 않는다.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ExpiresByType</name>
|
|
<description>MIME type으로 <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>
|
|
# 만기헤더를 사용한다<br />
|
|
ExpiresActive On<br />
|
|
# 클라이언트 캐쉬의 GIF 그림은 한 달후에 만기한다<br />
|
|
ExpiresByType image/gif A2592000<br />
|
|
# HTML 문서는 변경후 일주일간 유효하다
|
|
ExpiresByType text/html M604800
|
|
</example>
|
|
|
|
<p>이 지시어는 <code>ExpiresActive On</code>을 사용할때만
|
|
유효함을 주의하라. <directive
|
|
module="mod_expires">ExpiresDefault</directive> 지시어를
|
|
사용하여 특정 MIME type에 대해서<em>만</em> 만기시간을
|
|
설정할 수 있다.</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>
|
|
|