blob: d15d3ca821aef811123d4c70e46d0205cdab111d [file] [log] [blame]
<?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: 421174:653849 (outdated) -->
<!--
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_headers.xml.meta">
<name>mod_headers</name>
<description>HTTP ¿äû Çì´õ¿Í ÀÀ´ä Çì´õ ¼öÁ¤</description>
<status>Extension</status>
<sourcefile>mod_headers.c</sourcefile>
<identifier>headers_module</identifier>
<summary>
<p>ÀÌ ¸ðµâÀº HTTP ¿äû Çì´õ¿Í ÀÀ´ä Çì´õ¸¦ Á¶ÀýÇÏ°í ¼öÁ¤ÇÏ´Â
Áö½Ã¾îµéÀ» Á¦°øÇÑ´Ù. Çì´õ¸¦ ÇÕÄ¡°Å³ª ´ëü, Á¦°ÅÇÒ ¼ö ÀÖ´Ù.</p>
</summary>
<section id="order"><title>ó¸® ¼ø¼­</title>
<p><module>mod_headers</module>°¡ Á¦°øÇÏ´Â Áö½Ã¾î´Â ¼­¹ö¼³Á¤ÀÇ
°ÅÀÇ ¸ðµç Àå¼Ò¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Áö½Ã¾î´Â ÁÖ¼­¹ö¼³Á¤,
°¡»óÈ£½ºÆ® ¼½¼Ç, <directive module="core"
type="section">Directory</directive>, <directive module="core"
type="section">Location</directive>, <directive module="core"
type="section">Files</directive> ¼½¼Ç, <code>.htaccess</code>
ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>
<p>Áö½Ã¾î´Â ¾Æ·¡ ¼ø¼­´ë·Î 󸮵ȴÙ.</p>
<ol>
<li>ÁÖ¼­¹ö</li>
<li>°¡»óÈ£½ºÆ®</li>
<li><directive type="section">Directory</directive> ¼½¼Ç°ú
<code>.htaccess</code></li>
<li><directive type="section">Files</directive></li>
<li><directive type="section">Location</directive></li>
</ol>
<p>¼ø¼­´Â Áß¿äÇÏ´Ù.
´ÙÀ½ µÎ Áö½Ã¾î¸¦ ¹Ý´ë·Î ÀûÀ¸¸é È¿°ú°¡ ´Þ¶óÁø´Ù.</p>
<example>
RequestHeader append MirrorID "mirror 12"<br />
RequestHeader unset MirrorID
</example>
<p>À§¿Í °°ÀÌ ÀûÀ¸¸é <code>MirrorID</code> Çì´õ°¡ ³ª¿ÀÁö
¾Ê´Â´Ù. ¹Ý´ë·Î ÀûÀ¸¸é MirrorID Çì´õ¸¦ "mirror 12"·Î ¼³Á¤ÇÑ´Ù.</p>
</section>
<section id="examples"><title>¿¹Á¦</title>
<ol>
<li>
"TS"·Î ½ÃÀÛÇÏ´Â ¸ðµç ¿äû Çì´õ¸¦ ÀÀ´ä Çì´õ·Î º¹»çÇÑ´Ù.
<example>
Header echo ^TS
</example>
</li>
<li>
ÀÀ´ä¿¡ ¿äûÀ» ¹ÞÀº ½Ã°£°ú ¿äûÀ» ¼­ºñ½ºÇϴµ¥ °É¸± ½Ã°£À»
¾Ë·ÁÁÖ´Â <code>MyHeader</code> Çì´õ¸¦ Ãß°¡ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â
ÀÌ Çì´õ¸¦ º¸°í ¼­¹öÀÇ ºÎÇϸ¦ ÃßÁ¤Çϰųª Ŭ¶óÀ̾ðÆ®¿Í
¼­¹ö°£ÀÇ º´¸ñÁ¡À» ãÀ» ¼ö ÀÖ´Ù.
<example>
Header add MyHeader "%D %t"
</example>
<p>ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.</p>
<example>
MyHeader: D=3775428 t=991424704447256
</example>
</li>
<li>
Joe¿¡°Ô ¾È³ç
<example>
Header add MyHeader "Hello Joe. It took %D microseconds \<br />
for Apache to serve this request."
</example>
<p>ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.</p>
<example>
MyHeader: Hello Joe. It took D=3775428 microseconds for Apache
to serve this request.
</example>
</li>
<li>
¿äû¿¡ "MyRequestHeader" Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ ¼±ÅÃÀûÀ¸·Î
ÀÀ´ä¿¡ <code>MyHeader</code>¸¦ º¸³½´Ù. ƯÁ¤ Ŭ¶óÀ̾ðÆ®¿¡°Ô¸¸
ÀÀ´ä¿¡ Çì´õ¸¦ Ãß°¡ÇÒ¶§ À¯¿ëÇÏ´Ù. ÀÌ ¿¹Á¦°¡ µ¿ÀÛÇÏ·Á¸é
<module>mod_setenvif</module> ¸ðµâÀÌ ÇÊ¿äÇÏ´Ù.
<example>
SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br />
Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader<br />
</example>
<p>HTTP ¿äû¿¡ <code>MyRequestHeader: value</code> Çì´õ°¡
ÀÖ´Ù¸é, ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.</p>
<example>
MyHeader: D=3775428 t=991424704447256 mytext
</example>
</li>
</ol>
</section>
<directivesynopsis>
<name>RequestHeader</name>
<description>HTTP ¿äû Çì´õ¸¦ ±¸¼ºÇÑ´Ù</description>
<syntax>RequestHeader set|append|add|unset <var>header</var>
[<var>value</var>]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<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>ÀÌ·± À̸§ÀÇ ¿äû Çì´õ°¡ ÀÖ´Ù¸é »èÁ¦ÇÑ´Ù. °°Àº À̸§À»
°¡Áø Çì´õ°¡ ¿©·¯°³ ÀÖ´Ù¸é ¸ðµÎ Á¦°ÅÇÑ´Ù.</dd>
</dl>
<p>¾Æ±Ô¸ÕÆ® µÚ¿¡ Çì´õ¸íÀÌ ³ª¿Â´Ù. Çì´õ¸í µÚ¿¡ ÄÝ·ÐÀ» ÀûÀ»
¼ö ÀÖÁö¸¸, ¾ø¾îµµ µÈ´Ù. ´ë¼Ò¹®ÀÚ´Â ¹«½ÃÇÑ´Ù. <code>add</code>,
<code>append</code>, <code>set</code>À» »ç¿ëÇÒ¶§´Â ¼¼¹ø°
¾Æ±Ô¸ÕÆ® <var>value</var>°¡ ÇÊ¿äÇÏ´Ù. <var>value</var> ¾È¿¡
°ø¹éÀÌ ÀÖ´Ù¸é ½Öµû¿ÈÇ¥·Î ¹­¾î¾ß ÇÑ´Ù. unsetÀ» »ç¿ëÇÒ¶§´Â
<var>value</var>¸¦ ÀûÀ¸¸é ¾ÈµÈ´Ù.</p>
<p>fixup ´Ü°è¿¡¼­
¿äû¿¡ ÇØ´çÇÏ´Â Çڵ鷯¸¦ ½ÇÇàÇϱâ Á÷Àü¿¡
<directive>RequestHeader</directive> Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù.
±×·¡¼­ ºê¶ó¿ìÀú¿¡ µû¶ó ȤÀº ¾ÆÆÄÄ¡ ÀÔ·ÂÇÊÅÍ°¡ Çì´õ¸¦ µ¤¾î¾²°Å³ª
¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>Header</name>
<description>HTTP ÀÀ´ä Çì´õ¸¦ ±¸¼ºÇÑ´Ù</description>
<syntax>Header [<var>condition</var>] set|append|add|unset|echo
<var>header</var> [<var>value</var>] [env=[!]<var>variable</var>]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility><var>Condition</var>Àº ¾ÆÆÄÄ¡ 2.0.51 ºÎÅÍ</compatibility>
<usage>
<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>ÀÌ·± À̸§ÀÇ ÀÀ´ä Çì´õ°¡ ÀÖ´Ù¸é »èÁ¦ÇÑ´Ù. °°Àº À̸§À»
°¡Áø Çì´õ°¡ ¿©·¯°³ ÀÖ´Ù¸é ¸ðµÎ Á¦°ÅÇÑ´Ù.</dd>
<dt><code>echo</code></dt>
<dd>ÀÌ·± À̸§ÀÇ ¿äû Çì´õ¸¦ ±×´ë·Î ÀÀ´ä Çì´õ·Î º¸³½´Ù.
<var>header</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 border="1">
<columnspec><column width=".25"/><column width=".75"/></columnspec>
<tr><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><td><code>%{FOOBAR}e</code></td>
<td><a href="../env.html">ȯ°æº¯¼ö</a> <code>FOOBAR</code>ÀÇ
³»¿ë.</td></tr>
</table>
<p><directive>Header</directive> Áö½Ã¾îÀÇ <code>add</code>,
<code>append</code>, <code>set</code> ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ´Â
°æ¿ì ³×¹ø° ¾Æ±Ô¸ÕÆ®·Î ÀÛ¾÷¿¡ ÇÊ¿äÇÑ Á¶°ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
<code>env=...</code> ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇϸé ÇØ´ç <a
href="../env.html">ȯ°æº¯¼ö</a>°¡ Á¸ÀçÇÏ´Â °æ¿ì¿¡¸¸ (¾Æ´Ï¸é
<code>env=!...</code>¿¡ ³ª¿Â ȯ°æº¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Ù¸é)
<directive>Header</directive> Áö½Ã¾î°¡ µ¿ÀÛÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é Áö½Ã¾î´Â ¿äû¿¡ ¾Æ¹« ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù.</p>
<p>ÀÀ´äÀ» ³×Æ®¿÷À¸·Î
º¸³»±â Á÷Àü¿¡ <directive>Header</directive> Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù.
±×·¡¼­ Çì´õ ÇÊÅÍ°¡ Ãß°¡ÇÏ´Â Çì´õ¸¦ Á¦¿ÜÇÑ ´ëºÎºÐÀÇ Çì´õ¸¦
¼³Á¤Çϰųª µ¤¾î¾µ ¼ö ÀÖ´Ù.</p>
</usage>
</directivesynopsis>
</modulesynopsis>