Commit 6e637fa6 authored by No Author's avatar No Author
Browse files

This commit was manufactured by cvs2svn to create branch

'APACHE_2_0_BRANCH'.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@105582 13f79535-47bb-0310-9956-ffa450edef68
parent 54e6652f
Loading
Loading
Loading
Loading
+337 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_headers - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p>
<p class="apache">Apache HTTP Server Version 2.1</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="../">Version 2.1</a> &gt; <a href="./">모듈</a></div>
<div id="page-content">
<div id="preamble"><h1>아파치 모듈 mod_headers</h1>
<div class="toplang">
<p><span>가능한 언어: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">설명:</a></th><td>HTTP 요청 헤더와 응답 헤더 수정</td></tr>
<tr><th><a href="module-dict.html#Status">상태:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">모듈명:</a></th><td>headers_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">소스파일:</a></th><td>mod_headers.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">지원:</a></th><td><code class="directive"><a href="#requestheader">RequestHeader</a></code>는 아파치 2.0에만
있다</td></tr></table>
<h3>요약</h3>

    <p>이 모듈은 HTTP 요청 헤더와 응답 헤더를 조절하고 수정하는
    지시어들을 제공한다. 헤더를 합치거나 대체, 제거할 수 있다.</p>
</div>
<div id="quickview"><h3 class="directives">지시어들</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li>
</ul>
<h3>주제</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#order">처리 순서</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#early">이른(early) 처리와 늦은(late) 처리</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">예제</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="order" id="order">처리 순서</a></h2>

    <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>가 제공하는 지시어는 서버설정의
    거의 모든 장소에서 사용할 수 있으며, <a href="../sections.html">설정 섹션</a>으로 감싸서 지시어의
    범위를 제한할 수도 있다.</p>

    <p>처리순서는 중요하며, 설정파일에 나온 순서와 <a href="../sections.html#mergin">설정 섹션</a>의 영향을 받는다.
    다음 두 지시어를 반대로 적으면 효과가 달라진다.</p>

    <div class="example"><p><code>
      RequestHeader append MirrorID "mirror 12"<br />
      RequestHeader unset MirrorID
    </code></p></div>

    <p>위와 같이 적으면 <code>MirrorID</code> 헤더가 나오지
    않는다. 반대로 적으면 MirrorID 헤더를 "mirror 12"로 설정한다.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="early" id="early">이른(early) 처리와 늦은(late) 처리</a></h2>
    <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>를 요청 초기나 나중에 적용할
    수 있다. 보통은 내용생성자를 실행하기 직전에 요청 헤더를
    설정하고 응답을 네트웍에 쓸때 응답 헤더를 설정하는 늦은(late)
    방식을 사용한다. 실제 서비스하는 서버에서는 항상 느린 방식을
    사용하라.</p>

    <p>이른(early) 방식은 개발자를 위해 검사/디버깅용으로 만들었다.
    <code>early</code> 키워드를 사용하여 정의한 지시어는 요청을
    처리하기 시작할때 설정한다. 즉, 다른 요청을 모의실험하거나
    검사를 하기위해 사용할 수 있지만, 응답을 생성하기 전에 다른
    모듈이 불시에 헤더를 수정할 수 있다.</p>

    <p>요청경로에 대한 설정을 살펴보기 전에 이른 지시어를
    처리하기때문에 이른 헤더 지시어는 주서버이나 가상호스트
    사용장소에서만 사용할 수 있다. 이른 지시어는 요청경로에
    의존할 수 없기때문에 <code>&lt;Directory&gt;</code>
    <code>&lt;Location&gt;</code>같은 사용장소에서 사용할 수
    없다.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">예제</a></h2>

    <ol>
      <li>
        "TS"로 시작하는 모든 요청 헤더를 응답 헤더로 복사한다.

        <div class="example"><p><code>
          Header echo ^TS
        </code></p></div>
      </li>

      <li>
        응답에 요청을 받은 시간과 요청을 서비스하는데 걸릴 시간을
        알려주는 <code>MyHeader</code> 헤더를 추가한다. 클라이언트는
        이 헤더를 보고 서버의 부하를 추정하거나 클라이언트와
        서버간의 병목점을 찾을 수 있다.

        <div class="example"><p><code>
          Header add MyHeader "%D %t"
        </code></p></div>

        <p>응답에 다음과 같은 헤더가 생긴다.</p>

        <div class="example"><p><code>
          MyHeader: D=3775428 t=991424704447256
        </code></p></div>
      </li>

      <li>
        Joe에게 안녕

        <div class="example"><p><code>
          Header add MyHeader "Hello Joe. It took %D microseconds \<br />
          for Apache to serve this request."
        </code></p></div>

        <p>응답에 다음과 같은 헤더가 생긴다.</p>

        <div class="example"><p><code>
          MyHeader: Hello Joe. It took D=3775428 microseconds for Apache
          to serve this request.
        </code></p></div>
      </li>

      <li>
        요청에 "MyRequestHeader" 헤더가 있는 경우에만 선택적으로
        응답에 <code>MyHeader</code>를 보낸다. 특정 클라이언트에게만
        응답에 헤더를 추가할때 유용하다. 이 예제가 동작하려면
        <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> 모듈이 필요하다.

        <div class="example"><p><code>
          SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br />
          Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader<br />
       </code></p></div>

       <p>HTTP 요청에 <code>MyRequestHeader: value</code> 헤더가
       있다면, 응답에 다음과 같은 헤더가 생긴다.</p>

       <div class="example"><p><code>
         MyHeader: D=3775428 t=991424704447256 mytext
       </code></p></div>
      </li>
    </ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">지시어</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>HTTP 응답 헤더를 구성한다</td></tr>
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>Header [<var>condition</var>] set|append|add|unset|echo
<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_headers</td></tr>
</table>
    <p>이 지시어는 HTTP 응답 헤더를 합치거나 대체, 제거한다.
    내용 핸들러와 출력 필터가 실행한 직후에 헤더를 수정하기때문에
    보낼 헤더를 수정할 수 있다.</p>

    <p><var>condition</var>은 선택적으로 사용하며, 값으로
    <code>onsuccess</code> 혹은 <code>always</code>를 사용한다.
    이는 어떤 내부 헤더표에 동작할지를 결정한다.
    <code>onsuccess</code><code>2<var>xx</var></code> 상태코드를
    뜻하고, <code>always</code>는 (<code>2<var>xx</var></code>
    포함한) 모든 상태코드를 뜻한다. 특히 어떤 모듈이 설정한
    헤더를 해제하고 싶다면, 둘중 어떤 것을 사용할지 잘 살펴봐야
    한다.</p>

    <p>두번째 아규먼트에 따라 기능이 다르다. 두번째 아규먼트로
    아래 값중 하나를 사용할 수 있다.</p>

    <dl>
    <dt><code>set</code></dt>
    <dd>응답 헤더를 설정한다. 같은 이름으로 이미 헤더가 있다면
    대체한다. <var>value</var>에 형식문자열을 사용할 수 있다.</dd>

    <dt><code>append</code></dt>
    <dd>이미 존재하는 같은 이름의 응답 헤더에 추가한다. 기존
    헤더에 새로운 값을 합치면, 기존 헤더와 새로운 값 사이에
    쉼표를 붙인다. 이는 여러 헤더값을 지정하는 HTTP 표준 방식이다.</dd>

    <dt><code>add</code></dt>
    <dd>헤더가 이미 있더라도 응답 헤더를 추가한다. 그래서 같은
    이름의 헤더가 두개 (혹은 많이) 생길 수 있다. 이 경우 의외의
    결과가 발생할 수 있기때문에 보통 대신 <code>append</code>
    사용해야 한다.</dd>

    <dt><code>unset</code></dt>
    <dd>이런 이름의 응답 헤더가 있다면 삭제한다. 같은 이름을
    가진 헤더가 여러개 있다면 모두 제거한다. <var>value</var>
    적지 않는다.</dd>

    <dt><code>echo</code></dt>
    <dd>이런 이름의 요청 헤더를 그대로 응답 헤더로 보낸다.
    <var>header</var>에 정규표현식을 사용할 수 있다.
    <var>value</var>는 적지 않는다.</dd>
    </dl>

    <p>아규먼트 뒤에 <var>header</var> 이름이 나온다. 헤더명
    뒤에 콜론을 적을 수 있지만, 없어도 된다. <code>set</code>,
    <code>append</code>, <code>add</code>, <code>unset</code>에서
    대소문자는 무시한다. <code>echo</code><var>header</var>
    이름은 대수문자를 구별하고 정규표현식을 사용할 수 있다.</p>

    <p><code>add</code>, <code>append</code>, <code>set</code>
    사용할때는 세번째 아규먼트 <var>value</var>가 필요하다.
    <var>value</var> 안에 공백이 있다면 쌍따옴표로 묶어야 한다.
    <var>value</var>는 일반 문자열이나 형식을 기술하는 문자열이며,
    두가지를 같이 사용할 수도 있다. <var>value</var>에서 지원하는
    형식기술자는 다음과 같다.</p>

    <table class="bordered"><tr class="header"><th>형식</th><th>설명</th></tr>
<tr><td><code>%%</code></td>
        <td>퍼센트 기호</td></tr>
<tr class="odd"><td><code>%t</code></td>
        <td>요청을 받은 시간을 국제표준시로 epoch (1970년 1월
        1일) 이후 지난 마이크로초 단위로. 값 앞에 <code>t=</code>
        붙는다.</td></tr>
<tr><td><code>%D</code></td>
        <td>요청을 받은 시간부터 헤더를 네트웍에 쓸때까지 걸린
        시간. 요청의 기간을 잰다. 값 앞에 <code>D=</code>
        붙는다.</td></tr>
<tr class="odd"><td><code>%{FOOBAR}e</code></td>
        <td><a href="../env.html">환경변수</a> <code>FOOBAR</code>
        내용.</td></tr>
<tr><td><code>%{FOOBAR}s</code></td>
        <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>이 동작한다면, <a href="mod_ssl.html#envvars">SSL 환경변수</a>
        <code>FOOBAR</code>의 내용.</td></tr>
</table>

    <div class="note"><h3>주의</h3>
      <p><code>%s</code> 형식 지시자는 아파치 2.1 이후에만 있다.
      이 지시자는 <code>SSLOptions +StdEnvVars</code>를 사용하는
      부담을 덜기위해 <code>%e</code> 대신 사용할 수 있다. 어떤
      이유에서건 <code>SSLOptions +StdEnvVars</code>를 사용해야
      한다면, <code>%e</code><code>%s</code> 보다 훨씬 더
      효율적이다.</p>
    </div> 

    <p><code class="directive">Header</code> 지시어 뒤에 행동이 일어날
    조건을 지시하는 추가 아규먼트나 <a href="#early">이른 처리</a>
    뜻하는 키워드 <code>early</code>가 나올 수 있다.
    <code>env=<var>...</var></code> 아규먼트를 사용한 경우 해당
    <a href="../env.html">환경변수</a>가 존재한다면 (혹은
    <code>env=!<var>...</var></code>에 나온 환경변수가 존재하지
    않다면) <code class="directive">Header</code> 지시어가 동작한다.
    그렇지 않으면 지시어는 요청에 아무 영향을 미치지 않는다.</p>

    <p><a href="#early">이른</a> 방식이 아니라면 응답을 네트웍으로
    보내기 직전에 <code class="directive">Header</code> 지시어를 처리한다.
    그래서 헤더 필터가 추가하는 헤더를 제외한 대부분의 헤더를
    설정하거나 덮어쓸 수 있다.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">지시어</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>HTTP 요청 헤더를 구성한다</td></tr>
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>RequestHeader set|append|add|unset <var>header</var>
[<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_headers</td></tr>
</table>
    <p>이 지시어는 HTTP 요청 헤더를 합치거나 대체, 제거한다.
    내용 핸들러가 실행하기 직전에 헤더를 수정하기때문에 받은
    헤더를 수정할 수 있다. 첫번째 아규먼트에 따라 기능이 다르다.
    첫번째 아규먼트로 아래 값중 하나를 사용할 수 있다.</p>

    <dl>
    <dt><code>set</code></dt>
    <dd>요청 헤더를 설정한다. 같은 이름으로 이미 헤더가 있다면
    대체한다</dd>

    <dt><code>append</code></dt>
    <dd>이미 존재하는 같은 이름의 요청 헤더에 추가한다. 기존
    헤더에 새로운 값을 합치면, 기존 헤더와 새로운 값 사이에
    쉼표를 붙인다. 이는 여러 헤더값을 지정하는 HTTP 표준 방식이다.</dd>

    <dt><code>add</code></dt>
    <dd>헤더가 이미 있더라도 요청 헤더를 추가한다. 그래서 같은
    이름의 헤더가 두개 (혹은 많이) 생길 수 있다. 이 경우 의외의
    결과가 발생할 수 있기때문에 보통 대신 <code>append</code>
    사용해야 한다.</dd>

    <dt><code>unset</code></dt>
    <dd>이런 이름의 요청 헤더가 있다면 삭제한다. 같은 이름을
    가진 헤더가 여러개 있다면 모두 제거한다. <var>value</var>
    적지 않는다.</dd>
    </dl>

    <p>아규먼트 뒤에 헤더명이 나온다. 헤더명 뒤에 콜론을 적을
    수 있지만, 없어도 된다. 대소문자는 무시한다. <code>add</code>,
    <code>append</code>, <code>set</code>을 사용할때는 세번째
    아규먼트 <var>value</var>가 필요하다. <var>value</var> 안에
    공백이 있다면 쌍따옴표로 묶어야 한다. unset을 사용할때는
    <var>value</var>를 적으면 안된다. <var>value</var>는 일반
    문자열이나 형식을 기술하는 문자열이며, 두가지를 같이 사용할
    수도 있다. 지원하는 형식기술자는 <code class="directive"><a href="#header">Header</a></code>와 같으므로 자세한
    내용은 그곳을 참고하라.</p>

    <p><code class="directive">RequestHeader</code> 지시어 뒤에 행동이
    일어날 조건을 지시하는 추가 아규먼트나 <a href="#early">이른 처리</a>를 뜻하는 키워드
    <code>early</code>가 나올 수 있다. <code>env=<var>...</var></code>
    아규먼트를 사용한 경우 해당 <a href="../env.html">환경변수</a>
    존재한다면 (혹은 <code>env=!<var>...</var></code>에 나온
    환경변수가 존재하지 않다면) <code class="directive">RequestHeader</code>
    지시어가 동작한다. 그렇지 않으면 지시어는 요청에 아무 영향을
    미치지 않는다.</p>

    <p><a href="#early">이른</a> 방식이 아니라면 fixup 단계에서
    요청에 해당하는 핸들러를 실행하기 직전에
    <code class="directive">RequestHeader</code> 지시어를 처리한다.
    그래서 브라우저에 따라 혹은 아파치 입력필터가 헤더를 덮어쓰거나
    수정할 수 있다.</p>

</div>
</div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p></div>
</body></html>
 No newline at end of file
+329 −0

File added.

Preview size limit exceeded, changes collapsed.

+167 −0

File added.

Preview size limit exceeded, changes collapsed.

+152 −0
Original line number Diff line number Diff line
<?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.20 -->

<!--
 Copyright 2002-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_info.xml.meta">

<name>mod_info</name>
<description>서버 설정에 대한 종합적인 정보를 보여준다</description>
<status>Extension</status>
<sourcefile>mod_info.c</sourcefile>
<identifier>info_module</identifier>

<summary>
    <p><module>mod_info</module>를 사용하려면 <code>httpd.conf</code>
    파일에 다음과 같이 추가한다.</p>

    <example>
      &lt;Location /server-info&gt;<br />
      <indent>
        SetHandler server-info<br />
      </indent>
      &lt;/Location&gt;
    </example>

    <p>이렇게 설정하면
    <code>http://your.host.example.com/server-info</code>
    접근하여 서버에 대한 정보를 볼 수 있다.</p>
</summary>

<section id="security"><title>보안 문제</title>
    <p>한번 서버가 <module>mod_info</module>를 읽어들이면, 디렉토리별
    설정파일(<em>예를 들어</em>, <code>.htaccess</code>)을 포함한
    <em>모든</em> 설정파일에서 이 핸들러 기능을 사용할 수 있다.
    그래서 사이트에 보안관련 문제가 될 수 있다.</p>

    <p>특히 이 모듈은 시스템 경로, 사용자명/암호, 데이터베이스
    이름과 같이 여러 아파치 모듈의 설정지시어에 기록한 민감한
    정보를 유출할 수 있다. 그래서 이 모듈은 항상 주의해야 하며
    통제된 환경에서<strong></strong> 사용해야 한다.</p>

    <p>다음과 같이 <module>mod_authz_host</module>를 사용하여
    서버 설정 정보에 대한 접근을 제한할 수 있다.</p>
      
    <example><title>접근 제어</title>
      &lt;Location /server-info&gt;<br />
      <indent>
        SetHandler server-info<br />
        Order allow,deny<br />
        # 자신으로 부터 접근 허가<br />
        Allow from 127.0.0.1<br />
        # 추가로, 근처에 있는 워크스테이션으로 부터 접근 허가<br />
        Allow from 192.168.1.17<br />
      </indent>
      &lt;/Location&gt;
    </example>
</section>

<section id="queries"><title>보여주는 정보 선택하기</title>
    <p>기본적으로 서버 정보에는 사용하는 모듈 목록과 모듈별로
    모듈이 이해하는 지시어 설명, 모듈이 구현한 훅(hook), 현재
    설정에서 사용한 지시어 정보가 있다.</p>
    
    <p><code>server-info</code> 요청에 질의문자열을 붙여서 설정
    정보를 다르게 볼 수 있다. 예를 들어,
    <code>http://your.host.example.com/server-info?config</code>
    모든 설정지시어를 보여 준다.</p>
    
    <dl>
        <dt><code>?&lt;module-name&gt;</code></dt>
            <dd>명시한 모듈에 대한 정보만</dd>
        <dt><code>?config</code></dt>
            <dd>모듈별로 정렬하지 않고, 설정지시어만</dd>
        <dt><code>?hooks</code></dt>
            <dd>모듈이 등록한 훅(hook) 목록만</dd>
        <dt><code>?list</code></dt>
            <dd>사용하는 모듈 목록만</dd>
        <dt><code>?server</code></dt>
            <dd>기본 서버 정보만</dd>
    </dl>
</section>

<section id="limitations"><title>알려진 한계</title>
    <p><module>mod_info</module>는 원래 설정파일을 읽지 않고
    이미 읽어들인 설정 정보를 참고하여 정보를 보여준다. 설정을
    파싱하는 방법때문에 다음과 같은 몇가지 한계가 있다.</p>
    <ul>
      <li>파싱한 설정 정보에 기록하지 않고 즉시 실행되는 지시어를
          보여주지 못한다. <directive
          module="core">ServerRoot</directive>, <directive
          module="mod_so">LoadModule</directive>, <directive
          module="mod_so">LoadFile</directive>과 같은 지시어가
          여기에 해당한다.</li>
      <li><directive module="core">Include</directive>, <directive
          module="core">&lt;IfModule&gt;</directive>, <directive
          module="core">&lt;IfDefine&gt;</directive>과 같이
          설정파일 자체를 조정하는 지시어를 보여주지 못한다.
          그러나 안에 있는 설정지시어는 보여준다.</li>
      <li>주석을 보여주지 못한다. (한계라기 보다는 기능이라고
          생각할 수 있다.)</li>
      <li>(지속적인 서버설정이 아니기 때문에) <code>.htaccess</code>
          파일에 있는 설정지시어를 보여주지 못한다.</li>
      <li>보통 <directive module="core">&lt;Directory&gt;</directive>
          같은 범위제한 지시어는 보여주지만,
          <module>mod_info</module>는 마치는 <directive
          module="core">&lt;/Directory&gt;</directive>의 줄번호를
          알 수 없다.</li>
      <li><module>mod_perl</module>과 같이 제삼자가 만든 모듈의
          지시어를 보여주지 못할 수 있다.</li>
    </ul>
</section>

<directivesynopsis>
<name>AddModuleInfo</name>
<description>모듈에 대한 추가 정보를 server-info 핸들러가 보여주도록
추가한다</description>
<syntax>AddModuleInfo <var>module-name</var> <var>string</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<compatibility>아파치 1.3 이후</compatibility>

<usage>
    <p><var>module-name</var> 모듈에 대한 <strong>추가 정보</strong>
    <var>string</var>의 내용을 HTML로 보여준다. 예를 들어,</p>

    <example>
      AddModuleInfo mod_deflate.c 'See &lt;a \<br />
      <indent>
        href="http://www.apache.org/docs-2.1/mod/mod_deflate.html"&gt;\<br />
        http://www.apache.org/docs-2.1/mod/mod_deflate.html&lt;/a&gt;'
      </indent>
    </example>
</usage>

</directivesynopsis>
</modulesynopsis>