blob: da3c6c492e1b5e6dd01da3b6436369a119f0840f [file] [log] [blame]
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
<!-- English revision: 1.3.2.2 -->
<manualpage metafile="handler.xml.meta">
<title>¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯 »ç¿ë</title>
<summary>
<p>ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.</p>
</summary>
<section id="definition">
<title>Çڵ鷯°¡ ¹«¾ùÀΰ¡</title>
<related>
<modulelist>
<module>mod_actions</module>
<module>mod_asis</module>
<module>mod_cgi</module>
<module>mod_imap</module>
<module>mod_info</module>
<module>mod_mime</module>
<module>mod_negotiation</module>
<module>mod_status</module>
</modulelist>
<directivelist>
<directive module="mod_actions">Action</directive>
<directive module="mod_mime">AddHandler</directive>
<directive module="mod_mime">RemoveHandler</directive>
<directive module="core">SetHandler</directive>
</directivelist>
</related>
<p>ÆÄÀÏÀ» ¿äûÇÒ¶§ ¾ÆÆÄÄ¡°¡ ³»ºÎÀûÀ¸·Î ¼öÇàÇÒ ÀÛ¾÷À»
"Çڵ鷯(handler)"¶ó°í ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÆÄÀÏÀº ÆÄÀÏ Á¾·ù¿¡
µû¶ó ¾Ï¹¬ÀûÀÎ Çڵ鷯¸¦ °¡Áö°í ÀÖ´Ù. ¸ðµç ÆÄÀÏÀº º¸Åë °£´ÜÈ÷
¼­¹ö°¡ ¼­ºñ½ºÇÏÁö¸¸, ¾î¶² ÆÄÀÏ Á¾·ù´Â µû·Î "󸮵ȴÙ(handled)".</p>
<p>Apache 1.1ºÎÅÍ Çڵ鷯¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
ÆÄÀÏ Á¾·ù¿Í °ü°è¾øÀÌ Çڵ鷯¸¦ ÆÄÀÏÀÇ È®ÀåÀÚ³ª À§Ä¡¿¡ µû¶ó
ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ´õ ÈǸ¢ÇÑ ¹æ¹ýÀÌ°í ÆÄÀÏÀ» Á¾·ù¿Í Çڵ鷯
µÑ ¸ðµÎ¿Í ¿¬°èÇÒ ¼ö Àֱ⶧¹®¿¡ ÁÁ´Ù. (<a
href="mod/mod_mime.html#multipleext">¿©·¯ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏ</a>µµ
Âü°í)</p>
<p>Çڵ鷯´Â ¼­¹ö³ª ¸ðµâ·Î ±¸ÇöÇÏ¿©, <directive
module="mod_actions">Action</directive> Áö½Ã¾î·Î Ãß°¡ÇÒ
¼ö ÀÖ´Ù. Ç¥ÁØ ¹èÆ÷º»¿¡ ÀÖ´Â ±âº» Çڵ鷯´Â ´ÙÀ½°ú °°´Ù:</p>
<ul>
<li><strong>default-handler</strong>: Á¤ÀûÀÎ ³»¿ëÀ»
ó¸®ÇϱâÀ§ÇØ ±âº»ÀûÀ¸·Î »ç¿ëÇÏ´Â Çڵ鷯
<code>default_handler()</code>¸¦ »ç¿ëÇÏ¿© ÆÄÀÏÀ» º¸³½´Ù.
(core)</li>
<li><strong>send-as-is</strong>: HTTP Çì´õ°¡ ÀÖ´Â ÆÄÀÏÀ»
±×´ë·Î º¸³½´Ù. (<module>mod_asis</module>)</li>
<li><strong>cgi-script</strong>: ÆÄÀÏÀ» CGI·Î ó¸®ÇÑ´Ù.
(<module>mod_cgi</module>)</li>
<li><strong>imap-file</strong>: imagemap ±ÔÄ¢ ÆÄÀÏ·Î
ó¸®ÇÑ´Ù. (<module>mod_imap</module>)</li>
<li><strong>server-info</strong>: ¼­¹öÀÇ ¼³Á¤ Á¤º¸¸¦
¾Ë·ÁÁØ´Ù. (<module>mod_info</module>)</li>
<li><strong>server-status</strong>: ¼­¹öÀÇ »óŸ¦ º¸°íÇÑ´Ù.
(<module>mod_status</module>)</li>
<li><strong>type-map</strong>: ³»¿ëÇù»ó¿¡ »ç¿ëÇÒ
type mapÀ¸·Î ó¸®ÇÑ´Ù.
(<module>mod_negotiation</module>)</li>
</ul>
</section>
<section id="examples">
<title>¿¹Á¦</title>
<section id="example1">
<title>CGI ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© Á¤ÀûÀÎ ³»¿ë ¼öÁ¤Çϱâ</title>
<p>´ÙÀ½ Áö½Ã¾î´Â È®ÀåÀÚ°¡ <code>html</code>ÀÎ ÆÄÀÏÀ»
¿äûÇÒ °æ¿ì <code>footer.pl</code> CGI ½ºÅ©¸³Æ®¸¦ ¶ç¿î´Ù.</p>
<example>
Action add-footer /cgi-bin/footer.pl<br/>
AddHandler add-footer .html
</example>
<p>CGI ½ºÅ©¸³Æ®´Â
(<code>PATH_TRANSLATED</code> ȯ°æº¯¼ö°¡ ÁöĪÇÏ´Â) ¿ø·¡
¿äûÇÑ ¹®¼­¸¦ ÀûÀýÈ÷ ¼öÁ¤ÇÑ ÈÄ º¸³½´Ù.</p>
</section>
<section id="example2">
<title>HTTP Çì´õ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ</title>
<p>´ÙÀ½ Áö½Ã¾î´Â HTTP Çì´õ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ¿¡
<code>send-as-is</code> Çڵ鷯¸¦ Áö½ÃÇÑ´Ù.
<code>/web/htdocs/asis/</code> µð·ºÅ丮 ¾È¿¡ ÀÖ´Â ¸ðµç
ÆÄÀÏÀº È®ÀåÀÚ¿Í °ü°è¾øÀÌ <code>send-as-is</code> Çڵ鷯°¡
ó¸®ÇÑ´Ù.</p>
<example>
&lt;Directory /web/htdocs/asis&gt;<br/>
SetHandler send-as-is<br/>
&lt;/Directory&gt;
</example>
</section>
</section>
<section id="programmer">
<title>ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ Á¤º¸</title>
<p>Çڵ鷯 ±â´ÉÀ» ±¸ÇöÇϱâÀ§ÇØ »ç¿ëÇÔÁ÷ÇÑ
<a href="developer/API.html">Apache API</a>°¡ Ãß°¡µÇ¾ú´Ù.
ƯÈ÷ <code>request_rec</code> ±¸Á¶Ã¼¿¡ »õ·Î¿î Çʵ尡
Ãß°¡µÇ¾ú´Ù:</p>
<example>
char *handler
</example>
<p>¸ðµâÀÌ Çڵ鷯¸¦ »ç¿ëÇÏ·Á¸é, ¿äûÀÇ
<code>invoke_handler</code> ´Ü°è ÀÌÀü¿¡
<code>r-&gt;handler</code>¿¡ Çڵ鷯 À̸§À» ÁöÁ¤ÇØÁֱ⸸
ÇÏ¸é µÈ´Ù. Çڵ鷯´Â content type ´ë½Å Çڵ鷯 À̸§À» »ç¿ëÇÑ
°ÍÀ» Á¦¿ÜÇÏ°í´Â Àü°ú °°ÀÌ ±¸ÇöµÇ¾ú´Ù. ²À Áöų ÇÊ¿ä´Â ¾øÁö¸¸
Çڵ鷯 À̸§¿¡ ½½·¡½¬¸¦ »ç¿ëÇÏÁö ¾Ê°í, ´Ü¾îµé »çÀÌ¿¡ »©±â
±âÈ£¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ±×·¡¼­ Çڵ鷯 À̸§ÀÌ
media type°ú °ãÄ¡Áö ¾Ê´Â´Ù.</p>
</section>
</manualpage>