<?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: 421174 -->

<!--
 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.
-->

<manualpage metafile="ssi.xml.meta">
<parentdocument href="./">How-To / Tutorials</parentdocument>

<title>¾ÆÆÄÄ¡ ÅõÅä¸®¾ó: Server Side Includes ¼Ò°³</title>

<summary>
<p>Server-side includes¸¦ »ç¿ëÇÏ¿© HTML ¹®¼­¿¡ µ¿ÀûÀÎ ³»¿ëÀ»
Ãß°¡ÇÒ ¼ö ÀÖ´Ù.</p>
</summary>

<section id="related"><title>¼Ò°³</title>
 <related>
    <modulelist>
    <module>mod_include</module>
    <module>mod_cgi</module>
    <module>mod_expires</module>
    </modulelist>

    <directivelist>
    <directive module="core">Options</directive>
    <directive module="mod_include">XBitHack</directive>
    <directive module="mod_mime">AddType</directive>
    <directive module="core">SetOutputFilter</directive>
    <directive module="mod_setenvif">BrowserMatchNoCase</directive>
    </directivelist>
</related>

    <p>ÀÌ ±ÛÀº º¸Åë SSI¶ó°í ºÎ¸£´Â Server Side Includes¸¦ ¼³¸íÇÑ´Ù.
    SSI°¡ °¡´ÉÇÏµµ·Ï ¼­¹ö¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ý°ú HTML ÆäÀÌÁö¿¡ µ¿ÀûÀÎ
    ³»¿ëÀ» Ãß°¡ÇÏ´Â ±âº»ÀûÀÎ SSI »ç¿ë¹ýÀ» ¼Ò°³ÇÑ´Ù.</p>

    <p>ÀÌ ±ÛÀÇ µÞºÎºÐÀº SSI Áö½Ã¾î Á¶°Ç¹®°ú °°Àº °í±Þ±â¹ýÀ»
    ¼³¸íÇÑ´Ù.</p>

</section>

<section id="what"><title>SSI°¡ ¹«¾ùÀÎ°¡?</title>

    <p>SSI (Server Side Includes)´Â HTML ÆäÀÌÁö¿¡ »ç¿ëÇÏ´Â Áö½Ã¾î·Î,
    ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒ¶§ ¼­¹ö°¡ Ã³¸®ÇÑ´Ù. SSI¸¦ »ç¿ëÇÏ¸é CGI
    ÇÁ·Î±×·¥ÀÌ³ª ´Ù¸¥ µ¿ÀûÀÎ ±â¼ú·Î ÆäÀÌÁö ÀüÃ¼¸¦ ¸¸µé¾î¼­
    ¼­ºñ½ºÇÏÁö ¾Ê°íµµ HTML ÆäÀÌÁö¿¡ µ¿ÀûÀ¸·Î »ý¼ºÇÑ ³»¿ëÀ» Ãß°¡ÇÒ
    ¼ö ÀÖ´Ù.</p>

    <p>SSI¸¦ »ç¿ëÇÒÁö ¾Æ´Ï¸é ÇÁ·Î±×·¥À¸·Î ÆäÀÌÁö ÀüÃ¼¸¦ »ý¼ºÇÒÁö
    °áÁ¤Àº ÆäÀÌÁö¿¡¼­ Á¤ÀûÀÎ ºÎºÐÀÌ ¸¹ÀºÁö¿Í ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒ
    ¶§¸¶´Ù ¾î´ÀÁ¤µµ¸¦ ´Ù½Ã °è»êÇØ¾ßÇÒÁö¿¡ ´Þ·È´Ù. SSI´Â ÇöÀç
    ½Ã°£°ú °°ÀÌ ÀûÀº Á¤º¸¸¦ Ãß°¡ÇÏ´Âµ¥ ÁÁ´Ù. ±×·¯³ª ÆäÀÌÁö¸¦
    ¼­ºñ½ºÇÒ¶§ ÆäÀÌÁöÀÇ ´ëºÎºÐÀ» »ý¼ºÇØ¾ß ÇÑ´Ù¸é ´Ù¸¥ ¹æ¹ýÀ»
    Ã£¾ÆºÁ¾ß ÇÑ´Ù.</p>
</section>

<section id="configuring">
<title>SSI°¡ °¡´ÉÇÏµµ·Ï ¼­¹ö ¼³Á¤ÇÏ±â</title>

    <p>¼­¹ö°¡ SSI¸¦ Ã³¸®ÇÏ·Á¸é <code>httpd.conf</code> ÆÄÀÏÀÌ³ª
    <code>.htaccess</code> ÆÄÀÏ¿¡¼­ ´ÙÀ½ Áö½Ã¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.</p>
<example>
        Options +Includes
</example>

    <p>±×·¯¸é ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ Ã³¸®ÇÑ´Ù. ¼³Á¤¿¡´Â
    º¸Åë ¿©·¯ <directive module="core">Options</directive> Áö½Ã¾î°¡
    ÀÖ°í, ÀÌ Áö½Ã¾îµéÀº ¼­·Î µ¤¾î½á¼­ ¹«È¿·Î ¸¸µé´Ù. ±×·¡¼­
    Áö½Ã¾î¸¦ ¸Ç¸¶Áö¸·¿¡ Ã³¸®ÇÏ±âÀ§ÇØ º¸Åë SSI¸¦ ¿øÇÏ´Â Æ¯Á¤
    µð·ºÅä¸®¿¡¼­ <code>Options</code>¸¦ »ç¿ëÇÑ´Ù.</p>

    <p>¸ðµç ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ Ã³¸®ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾ÆÆÄÄ¡¿¡°Ô
    ¾î¶² ÆÄÀÏÀ» Ã³¸®ÇÒÁö ¾Ë·ÁÁà¾ß ÇÑ´Ù. µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.
    ÇÏ³ª´Â ´ÙÀ½°ú °°Àº Áö½Ã¾î·Î <code>.shtml</code>°ú °°Àº Æ¯Á¤
    ÆÄÀÏ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀ» Ã³¸®ÇÏ´Â ¹æ¹ýÀÌ´Ù.</p>
<example>
        AddType text/html .shtml<br />
	AddOutputFilter INCLUDES .shtml
</example>

    <p>ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº ÀÌ¹Ì ÀÖ´Â ÆäÀÌÁö¿¡ SSI Áö½Ã¾î¸¦ Ãß°¡ÇÏ´Â
    °æ¿ì SSI Áö½Ã¾î¸¦ Ã³¸®ÇÏ±âÀ§ÇØ <code>.shtml</code> È®ÀåÀÚ¸¦
    ºÎ¿©ÇÏ±â¶§¹®¿¡ ÆÄÀÏ¸í°ú ÀÌ ÆäÀÌÁöÀÇ ¸ðµç ¸µÅ©¸¦ º¯°æÇØ¾ß
    ÇÏ´Â Á¡ÀÌ´Ù.</p>

    <p>´Ù¸¥ ¹æ¹ýÀº <directive module="mod_include">XBitHack</directive>
    Áö½Ã¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.</p>
<example>
        XBitHack on
</example>

    <p><directive module="mod_include">XBitHack</directive>´Â
    ½ÇÇà±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ Ã³¸®ÇÑ´Ù. ±×·¡¼­ ÀÌ¹Ì
    ÀÖ´Â ÆäÀÌÁö¿¡ SSI Áö½Ã¾î¸¦ Ãß°¡ÇÑ´Ù¸é ÆÄÀÏ¸íÀ» º¯°æÇÏÁö
    ¾Ê°í <code>chmod</code>·Î ÆÄÀÏ¿¡ ½ÇÇà±ÇÇÑÀ» ÁÖ¸é µÈ´Ù.</p>
<example>
        chmod +x pagename.html
</example>

    <p>ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í ÇÏ³ª. °¡²û <code>.shtml</code> ÆÄÀÏ¸í¿¡
    °ñÄ¡¸¦ ¾ÎÁö¸»°í ¸ðµç <code>.html</code> ÆÄÀÏÀ» SSI Ã³¸®ÇÏ¶ó°í
    Ãæ°íÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù. ÀÌ »ç¶÷µéÀº ¾Æ¸¶µµ <directive
    module="mod_include">XBitHack</directive>¿¡ ´ëÇØ ¸ð¸£´Â
    °Í °°´Ù. ¸í½ÉÇÒ Á¡Àº ÀÌ·¸°Ô ÇÏ¸é ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡ SSI Áö½Ã¾î°¡
    ¾ø´õ¶óµµ Å¬¶óÀÌ¾ðÆ®·Î º¸³»´Â ¸ðµç ÆÄÀÏÀ» »ìÆìºÁ¾ß ÇÑ´Ù´Â
    °ÍÀÌ´Ù. ¼º´ÉÀÌ ¸Å¿ì ´À·ÁÁú ¼ö ÀÖÀ¸¸ç, ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï´Ù.</p>

    <p>¹°·Ð À©µµ¿ìÁî¿¡¼­´Â ½ÇÇà±ÇÇÑÀÌ¶õ °ÍÀÌ ¾ø±â¶§¹®¿¡ ÈÄÀÚ¸¦
    »ç¿ëÇÒ ¼ö ¾ø´Ù.</p>

    <p>³»¿ëÀÌ µ¿ÀûÀÌ¿©¼­ °è»êÇÏ±â ¾î·Æ±â¶§¹®¿¡ ¾ÆÆÄÄ¡ ±âº» ¼³Á¤Àº
    SSI ÆäÀÌÁöÀÇ ÃÖ±Ù¼öÁ¤ÀÏ°ú content length HTTP Çì´õ¸¦ º¸³»Áö
    ¾Ê´Â´Ù. ±×·¡¼­ ¹®¼­¸¦ Ä³½¬ÇÏÁö ¸øÇÏ°í Å¬¶óÀÌ¾ðÆ®°¡ ´À³¢´Â
    ¼º´ÉÀÌ ¶³¾îÁø´Ù. µÎ°¡Áö ÇØ°á¹æ¹ýÀÌ ÀÖ´Ù.</p>

    <ol>
      <li><code>XBitHack Full</code> ¼³Á¤Àº »ç¿ëÇÑ´Ù. ±×·¯¸é
      ¾ÆÆÄÄ¡´Â Æ÷ÇÔÇÏ´Â(include) ÆÄÀÏµéÀÇ ¼öÁ¤ÀÏÀº ¹«½ÃÇÑÃ¼
      ¿ø·¡ ¿äÃ»ÇÑ ÆÄÀÏÀÇ ³¯Â¥¸¸ º¸°í ÃÖ±Ù¼öÁ¤ÀÏÀ» ¾Ë¾Æ³½´Ù.</li>

      <li><module>mod_expires</module>¿¡ ÀÖ´Â Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
      ÆÄÀÏ¿¡ Á÷Á¢ ¸¸±âÀÏÀ» ¼³Á¤ÇÏ¸é ºê¶ó¿ìÀú¿Í ÇÁ·Ï½Ã°¡ ¹®¼­¸¦
      Ä³½¬ÇÒ ¼ö ÀÖ´Ù.</li>
    </ol>
</section>

<section id="basic"><title>±âº» SSI Áö½Ã¾î</title>

    <p>SSI Áö½Ã¾îÀÇ »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.</p>
<example>
        &lt;!--#element attribute=value attribute=value ... --&gt;
</example>

    <p>HTML ÁÖ¼®°°ÀÌ »ý°å±â¶§¹®¿¡ SSI ±â´ÉÀ» °¡µ¿ÇÏÁö ¾Ê¾Æµµ
    HTML ¼Ò½º¿¡´Â ³ª¿ÀÁö¸¸ ºê¶ó¿ìÀú´Â ¹«½ÃÇÑ´Ù. SSI¸¦ ¿Ã¹Ù·Î
    ¼³Á¤ÇÏ¸é Áö½Ã¾î¸¦ °á°ú°ªÀ¸·Î ¹Ù²Û´Ù.</p>

    <p>element´Â ´ÙÀ½Áß ÇÏ³ª´Ù. ´ÙÀ½ È¸¿¡ ´õ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.
    Áö±ÝÀº SSI·Î ÇÒ ¼ö ÀÖ´Â ¸î°¡Áö ¿¹¸¦ º¸ÀÎ´Ù</p>

<section id="todaysdate"><title>¿À´Ã ³¯Â¥</title>

<example>
        &lt;!--#echo var="DATE_LOCAL" --&gt;
</example>

    <p><code>echo</code> element´Â º¯¼ö°ªÀ» ±×´ë·Î Ãâ·ÂÇÑ´Ù.
    CGI ÇÁ·Î±×·¥¿¡ Á¦°øÇÏ´Â È¯°æº¯¼öµé ¿Ü¿¡µµ ¿©·¯ Ç¥ÁØ º¯¼ö°¡
    ÀÖ´Ù. ¶Ç, <code>set</code> element¸¦ »ç¿ëÇÏ¿© Á÷Á¢ º¯¼ö¸¦
    Á¤ÀÇÇÒ ¼öµµ ÀÖ´Ù.</p>

    <p>³¯Â¥ Ãâ·Â Çü½ÄÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù¸é, ´ÙÀ½°ú °°ÀÌ
    <code>config</code> elementÀÇ <code>timefmt</code> attribute¸¦
    »ç¿ëÇÑ´Ù.</p>

<example>
        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;<br />
        Today is &lt;!--#echo var="DATE_LOCAL" --&gt;
</example>
</section>

<section id="lastmodified"><title>ÆÄÀÏÀÇ ¼öÁ¤ÀÏ</title>

<example>
        ÀÌ ¹®¼­´Â &lt;!--#flastmod file="index.html" --&gt;¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú´Ù
</example>

    <p>ÀÌ elementµµ <code>timefmt</code> Çü½Ä ¼³Á¤¿¡ ´Þ·È´Ù.</p>
</section>

<section id="cgi"><title>CGI ÇÁ·Î±×·¥ °á°ú¸¦ Æ÷ÇÔÇÏ±â</title>

    <p>ÀÏ¹ÝÀûÀÎ SSI »ç¿ë¹ýÁß ÇÏ³ª·Î, ¸¹ÀÌµé ¾Ö¿ëÇÏ´Â ``¹æ¹®¼ö
    Ä«¿îÅÍ'' °°Àº CGI ÇÁ·Î±×·¥ °á°ú¸¦ Ãâ·ÂÇÑ´Ù.</p>

<example>
        &lt;!--#include virtual="/cgi-bin/counter.pl" --&gt;
</example>

</section>
</section>

<section id="additionalexamples">
<title>Ãß°¡ ¿¹Á¦</title>

    <p>´ÙÀ½Àº HTML ¹®¼­¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î°¡Áö SSI ¿¹Á¦´Ù.</p>

<section id="docmodified"><title>ÀÌ ¹®¼­°¡ ¾ðÁ¦ ¸¶Áö¸·À¸·Î
¼öÁ¤µÇ¾ú³ª?</title>

    <p>¾Õ¿¡¼­ SSI¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¹®¼­ÀÇ ÃÖ±Ù¼öÁ¤ÀÏÀ»
    ¾Ë¸± ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ±×·¯³ª ½ÇÁ¦ ¹æ¹ýÀº ¾Ë·ÁÁÖÁö ¾Ê¾Ò´Ù.
    ´ÙÀ½ ÄÚµå¸¦ HTML ¹®¼­¿¡ »ç¿ëÇÏ¸é ÆäÀÌÁö¿¡ ½Ã°£ ±â·ÏÀ» ³²±ä´Ù.
    ¹°·Ð À§¿¡¼­ ¼³¸íÇÑ´ë·Î SSI°¡ ¿Ã¹Ù·Î ÀÛµ¿ÇØ¾ß ÇÑ´Ù.</p>
<example>
        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;<br />
        ÀÌ ¹®¼­´Â &lt;!--#flastmod file="ssi.shtml" --&gt;¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú´Ù;
</example>

    <p>¹°·Ð <code>ssi.shtml</code>´ë½Å ¿øÇÏ´Â ½ÇÁ¦ ÆÄÀÏ¸íÀ»
    »ç¿ëÇÑ´Ù. ¾Æ¹« ÆäÀÌÁö¿¡¶óµµ ºÙ¿©³ÖÀ» ¼ö ÀÖ´Â ¹ü¿ëÄÚµå¸¦
    ¿øÇÑ´Ù¸é, ÆÄÀÏ¸í ´ë½Å <code>LAST_MODIFIED</code> º¯¼ö¸¦
    »ç¿ëÇÑ´Ù.</p>
<example>
        &lt;!--#config timefmt="%D" --&gt;<br />
        This file last modified &lt;!--#echo var="LAST_MODIFIED" --&gt;
</example>

    <p><code>timefmt</code> Çü½Ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â °Ë»ö¿£Áø¿¡¼­
    <code>strftime</code>À» Ã£¾ÆºÁ¶ó. ¹®¹ýÀº °°´Ù.</p>
</section>

<section id="standard-footer">
<title>Ç¥ÁØ ÆäÀÌÁö ÇÏ´ÜÀ» Æ÷ÇÔÇÏ±â</title>

    <p>¿©·¯ ÆäÀÌÁö°¡ ÀÖ´Â »çÀÌÆ®¸¦ °ü¸®ÇÑ´Ù¸é ÆäÀÌÁö ÀüÃ¼¸¦
    ¼öÁ¤ÇÏ´Â °ÍÀº, Æ¯È÷ ÆäÀÌÁöµéÀÌ Ç¥ÁØ ¿Ü°üÀ» °¡Áöµµ·Ï ¼öÁ¤ÇÏ´Â
    °ÍÀº Á¤¸»·Î ±«·Ó´Ù.</p>

    <p>ÆäÀÌÁö »ó´Ü(header)°ú ÇÏ´Ü(footer)À» ÆÄÀÏ·Î Æ÷ÇÔÇÏ¿©
    ÀÌ·± ¼öÁ¤ÀÇ ºÎ´ãÀ» ´ú ¼ö ÀÖ´Ù. ¸ðµç ÆäÀÌÁö¿¡¼­
    <code>include</code> SSI ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÆäÀÌÁö ÇÏ´Ü ÆÄÀÏ
    ÇÏ³ª¸¦ Æ÷ÇÔÇÏ¸é µÈ´Ù. <code>include</code> elementÀÇ
    <code>file</code> attribute³ª <code>virtual</code> attribute·Î
    Æ÷ÇÔÇÒ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. <code>file</code> attribute´Â <em>ÇöÀç
    µð·ºÅä¸®¿¡ »ó´ëÀûÀÎ</em> ÆÄÀÏ°æ·Î´Ù. Áï, (/·Î ½ÃÀÛÇÏ´Â)
    Àý´ëÆÄÀÏ°æ·Î³ª °æ·Î ¾È¿¡ ../¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ¾Æ¸¶µµ ¼­ºñ½ºÇÏ´Â
    ¹®¼­ÀÇ »ó´ë URLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â <code>virtual</code> attribute°¡
    ´õ À¯¿ëÇÒ °ÍÀÌ´Ù. °æ·Î¸¦ /·Î ½ÃÀÛÇÒ ¼ö ÀÖÁö¸¸, Æ÷ÇÔÇÏ·Á´Â
    ÆÄÀÏÀÌ ¼­ºñ½ºÇÏ´Â ÆÄÀÏ°ú °°Àº ¼­¹ö¿¡ ÀÖ¾î¾ß ÇÑ´Ù.</p>
<example>
        &lt;!--#include virtual="/footer.html" --&gt;
</example>

    <p>³ª´Â º¸Åë ÀÌ µÎ°¡Áö¸¦ ÇÕÃÄ¼­ Æ÷ÇÔÇÒ ÆäÀÌÁö ÇÏ´Ü ÆÄÀÏ¿¡
    <code>LAST_MODIFIED</code> Áö½Ã¾î¸¦ ³Ö´Â´Ù. Æ÷ÇÔÇÏ·Á´Â ÆÄÀÏ¿¡µµ
    SSI Áö½Ã¾î°¡ ³ª¿Ã ¼ö ÀÖÀ¸¸ç, ÀÌ·¸°Ô Æ÷ÇÔÇÑ ÆÄÀÏÀÌ ´Ù¸¥ ÆÄÀÏÀ»
    Æ÷ÇÔÇÏ´Â ½ÄÀ¸·Î ¿©·¯¹ø °è¼Ó Æ÷ÇÔÇÒ ¼öµµ ÀÖ´Ù.</p>
</section>

</section>

<section id="config">
<title>ÀÌ¿Ü¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Â °ÍÀº?</title>

    <p>½Ã°£ Çü½Ä <code>config</code>(¼³Á¤) ¿Ü¿¡ µÎ°¡Áö¸¦ ´õ
    <code>config</code>(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù.</p>

    <p>º¸Åë SSI Áö½Ã¾î°¡ Àß¸øµÇ¸é ´ÙÀ½°ú °°Àº ¹®±¸°¡ ³ª¿Â´Ù</p>
<example>
        [an error occurred while processing this directive]
</example>

    <p>ÀÌ ¹®±¸¸¦ º¯°æÇÏ°í ½Í´Ù¸é <code>config</code> elementÀÇ
    <code>errmsg</code> attribute¸¦ »ç¿ëÇÏ¿© º¯°æÇÑ´Ù.</p>
<example>
        &lt;!--#config errmsg="[It appears that you don't know how to use SSI]" --&gt;
</example>

    <p>»çÀÌÆ®¸¦ ¼­ºñ½ºÇÏ±â Àü¿¡ ¸ðµç SSI Áö½Ã¾î ¹®Á¦¸¦ ÇØ°áÇÏ¿©
    »ç¿ëÀÚ°¡ ÀÌ·± ¹®±¸¸¦ º¸Áö ¾Ê±æ ¹Ù¶õ´Ù. (±×·¸Áö?)</p>

    <p>±×¸®°í <code>sizefmt</code> attribute°¡ ¹ÝÈ¯ÇÏ´Â ÆÄÀÏÅ©±â
    Çü½ÄÀ» <code>config</code>(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀÌÆ®·Î Å©±â¸¦
    º¸¿©ÁÖ·Á¸é <code>bytes</code>, ÀûÀýÈ÷ Kb³ª Mb·Î Å©±â¸¦
    º¸¿©ÁÖ·Á¸é <code>abbrev</code>¸¦ »ç¿ëÇÑ´Ù.</p>
    </section>

<section id="exec">
    <title>¸í·É¾î ½ÇÇàÇÏ±â</title>

    <p>³ª´Â ´ÙÀ½ ´Þ¿¡ ÀÛÀº CGI ÇÁ·Î±×·¥°ú SSI¸¦ °°ÀÌ »ç¿ëÇÏ´Â
    ±ÛÀ» ¾µ ¿¹Á¤ÀÌ´Ù. Áö±ÝÀº <code>exec</code> element·Î ÇÒ
    ¼ö ÀÖ´Â ´Ù¸¥ °ÍµéÀ» ¼³¸íÇÒ °ÍÀÌ´Ù. SSI´Â ½ÇÁ¦ ½©À» (Á¤È®È÷´Â
    <code>/bin/sh</code>³ª Win32¸¦ »ç¿ëÇÑ´Ù¸é DOS ½©) »ç¿ëÇÏ¿©
    ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº µð·ºÅä¸® ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.</p>
<example>
        &lt;pre&gt;<br />
        &lt;!--#exec cmd="ls" --&gt;<br />
        &lt;/pre&gt;
</example>

    <p>or, on Windows</p>
<example>
        &lt;pre&gt;<br />
        &lt;!--#exec cmd="dir" --&gt;<br />
        &lt;/pre&gt;
</example>

    <p><code>dir</code> Ãâ·Â¿¡ ºê¶ó¿ìÀú°¡ È¥µ¿ÇÒ
    ``&lt;<code>dir</code>&gt;'' ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÇÀÖ±â¶§¹®¿¡,
    À©µµ¿ìÁî¿¡¼­ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é °á°ú°¡ Á¶±Ý ÀÌ»óÇÒ °ÍÀÌ´Ù.</p>

    <p>ÀÌ ±â´ÉÀº <code>exec</code> ÅÂ±×¿¡ »ç¿ëÇÑ ¾î¶² ¸í·É¾î¶óµµ
    ½ÇÇàÇÒ ¼ö ÀÖ±â¶§¹®¿¡ ¸Å¿ì À§ÇèÇÏ´Ù. ``¹æ¸í·Ï''°ú °°ÀÌ »ç¿ëÀÚ°¡
    À¥ÆäÀÌÁö ³»¿ëÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Â È¯°æÀÌ¶ó¸é, ÀÌ ±â´ÉÀ» Àý´ë·Î
    »ç¿ëÇØ¼± ¾ÈµÈ´Ù. <code>Options</code> Áö½Ã¾î¿¡
    <code>IncludesNOEXEC</code> ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ¿© SSI¸¦ Çã¿ëÇÏÁö¸¸
    <code>exec</code> ±â´ÉÀ» ¸·À» ¼ö ÀÖ´Ù.</p> 
    </section>

<section id="advanced">
<title>°í±Þ SSI ±â¹ý</title>

    <p>³»¿ëÀ» Ãâ·ÂÇÏ´Â ±â´É ¿Ü¿¡ ¾ÆÆÄÄ¡ SSI´Â º¯¼ö ¼³Á¤ÀÌ °¡´ÉÇÏ°í,
    ºñ±³¹®°ú Á¶°Ç¹®¿¡ ÀÌ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>

<section id="caveat"><title>°æ°í</title>

    <p>ÀÌ ±Û¿¡¼­ ¼³¸íÇÏ´Â ´ëºÎºÐÀÇ ±â´ÉÀº ¾ÆÆÄÄ¡ 1.2 ÀÌÈÄºÎÅÍ
    »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð, ¾ÆÆÄÄ¡ 1.2 ÀÌ»óÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é
    ¾Æ¸¶µµ »¡¸® ¾÷±×·¹ÀÌµåÇØ¾ß ÇÑ´Ù. ÇØ¶ó. Áö±Ý ÇØ¶ó. ±â´Ù¸±
    °ÍÀÌ´Ù.</p>
</section>

<section id="variables"><title>º¯¼ö ¼³Á¤</title>

    <p><code>set</code> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ³ªÁß¿¡ »ç¿ëÇÒ º¯¼ö¸¦
    ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¾ÕÀ¸·Î º¯¼ö°¡ ÇÊ¿äÇÏ±â¶§¹®¿¡ ¸ÕÀú ¼³¸íÇÑ´Ù.
    ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.</p>
<example>
        &lt;!--#set var="name" value="Rich" --&gt;
</example>

    <p>´ÙÀ½°ú °°ÀÌ °ªÀ» ¹®ÀÚ±×´ë·Î ¼³Á¤ÇÏÁö ¾Ê°í <a
    href="../env.html">È¯°æº¯¼ö</a>³ª À§¿¡¼­ ¼³¸íÇÑ º¯¼ö(¿¹¸¦
    µé¾î, <code>LAST_MODIFIED</code>)¿Í °°ÀÌ ´Ù¸¥ º¯¼ö¸¦ »ç¿ëÇÏ¿©
    º¯¼ö°ªÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ¶§ º¯¼ö¸í ¾Õ¿¡ ´Þ·¯ Ç¥½Ã($)¸¦
    ºÙ¿©¼­ ¹®ÀÚ¿­ÀÌ ¾Æ´Ñ º¯¼öÀÓÀ» Ç¥½ÃÇÑ´Ù.</p>

    <example> &lt;!--#set var="modified" value="$LAST_MODIFIED" --&gt;
    </example>

    <p>º¯¼ö°ª¿¡ ´Þ·¯ ¹®ÀÚ¸¦ ±×´ë·Î ÀÔ·ÂÇÏ·Á¸é ´Þ·¯ Ç¥½Ã ¾Õ¿¡
    ¹é½½·¡½¬¸¦ »ç¿ëÇÑ´Ù.</p>
<example>
        &lt;!--#set var="cost" value="\$100" --&gt;
</example>

    <p>¸¶Áö¸·À¸·Î ±ä ¹®ÀÚ¿­ Áß°£¿¡ º¯¼ö¸¦ »ç¿ëÇÏ´Âµ¥ µÚ¿¡ ÀÖ´Â
    ¹®ÀÚµµ º¯¼ö¸íÀ¸·Î ¿ÀÀÎÇÏ¿© È¥µ¿µÇ´Â °æ¿ì, º¯¼ö¸íÀ» ´ë°ýÈ£·Î
    ¹­¾î¼­ È®½ÇÈ÷ ÇÑ´Ù. (ÁÁÀº ¿¹¸¦ Ã£±â ÈûµéÁö¸¸, ¹«½¼ ¸»ÀÎÁö
    ÀÌÇØÇÏ±æ ¹Ù¶õ´Ù.)</p>
<example>
        &lt;!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --&gt;
</example>
</section>

<section id="conditional">
<title>Á¶°Ç Ç¥Çö½Ä</title>

    <p>º¯¼ö¸¦ ¼³Á¤ÇÏ°í ºñ±³ÇÒ ¼ö ÀÖÀ¸´Ï Á¶°Ç¹®ÀÌ °¡´ÉÇÏ´Ù. ÀÌÁ¦
    SSI°¡ ÀÏÁ¾ÀÇ °£´ÜÇÑ ÇÁ·Î±×·¡¹Ö¾ð¾î°¡ µÈ´Ù.
    <module>mod_include</module>´Â Á¶°Ç¹®À» ¸¸µå´Â <code>if</code>,
    <code>elif</code>, <code>else</code>, <code>endif</code>
    ±¸Á¶¸¦ Á¦°øÇÑ´Ù. ½ÇÁ¦ ÇÑ ÆäÀÌÁö·Î ¿©·¯ ³í¸®ÀûÀÎ ÆäÀÌÁö¸¦
    ¸¸µé ¼ö ÀÖ´Ù.</p>

    <p>Á¶°Ç¹® ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.</p>
<example>
    &lt;!--#if expr="test_condition" --&gt;<br />
    &lt;!--#elif expr="test_condition" --&gt;<br />
    &lt;!--#else --&gt;<br />
    &lt;!--#endif --&gt;
</example>

    <p><em>test_condition</em>¿¡´Â ¾î¶² ³í¸®ºñ±³¶óµµ »ç¿ëÇÒ
    ¼ö ÀÖ´Ù. °ªÀ» ´Ù¸¥ °ª°ú ºñ±³ÇÏ°Å³ª, Æ¯Á¤ °ªÀÌ ``Âü''ÀÎÁö
    °Ë»çÇÑ´Ù. (¹®ÀÚ¿­ÀÌ ºñ¾îÀÖÁö ¾ÊÀ¸¸é ÂüÀÌ´Ù.) »ç¿ë°¡´ÉÇÑ
    ºñ±³ ¿¬»êÀÚ¸¦ ¸ðµÎ º¸·Á¸é, <module>mod_include</module>
    ¹®¼­¸¦ Âü°íÇÏ¶ó. ´ÙÀ½Àº Á¶°Ç¹®À» »ç¿ëÇÑ ¸î°¡Áö ¿¹Á¦´Ù.</p>

    <p>¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÑ´Ù.</p>
<example>
        BrowserMatchNoCase macintosh Mac<br />
        BrowserMatchNoCase MSIE InternetExplorer
</example>

    <p>Å¬¶óÀÌ¾ðÆ®°¡ ¸ÆÅ²Åä½Ã¿¡¼­ ½ÇÇàÇÏ´Â Internet Explorer¶ó¸é
    È¯°æº¯¼ö ``Mac''°ú ``InternetExplorer'' ¸ðµÎ ÂüÀ¸·Î ¼³Á¤ÇÑ´Ù.</p>

    <p>±×¸®°í SSI ¹®¼­¿¡ ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.</p>
<example>
        &lt;!--#if expr="${Mac} &amp;&amp; ${InternetExplorer}" --&gt;<br />
        ¿©±â¿¡ »ç°ú¹®°¡ ³ª¿Â´Ù<br />
        &lt;!--#else --&gt;<br />
        ¿©±â¿¡ ¸ÚÁø JavaScript ÄÚµå°¡ ³ª¿Â´Ù<br />
        &lt;!--#endif --&gt;
</example>

    <p>³»°¡ ¸ÅÅ²Åä½Ã IE¿¡ ¹Ý°¨ÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ³ª´Â ´ÜÁö
    Àú¹øÁÖ¿¡ ´Ù¸¥ °÷¿¡¼­´Â ¹®Á¦°¡ ¾ø´Â JavaScript ÄÚµå°¡ ¸ÅÅ²Åä½Ã
    IE¿¡¼­´Â µ¿ÀÛÇÏÁö ¾Ê¾Æ¼­ ¸î½Ã°£À» °í»ýÇß´Ù. À§´Â ÀÓ½Ã
    ÇØ°áÃ¥ÀÌ´Ù.</p>

    <p>(Á÷Á¢ Á¤ÀÇÇÏ¿´°Ç ÀÏ¹Ý È¯°æº¯¼öÀÌ°Ç) ¾î¶² º¯¼ö¶óµµ Á¶°Ç¹®¿¡
    »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ¶óÄ¡´Â <code>SetEnvIf</code>³ª ´Ù¸¥ °ü·Ã
    Áö½Ã¾î·Î È¯°æº¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ±â¶§¹®¿¡ CGI ¾øÀÌµµ ¸ÚÁö°Ô
    µ¿ÀûÀÎ ³»¿ëÀ» ¸¸µé ¼ö ÀÖ´Ù.</p>
</section>
</section>

<section id="conclusion"><title>°á·Ð</title>

    <p>SSI´Â È®½ÇÈ÷ CGI³ª µ¿ÀûÀÎ À¥ÆäÀÌÁö¸¦ »ý¼ºÇÏ´Â ´Ù¸¥ ±â¼úÀ»
    ´ëÃ¼ÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ¸¹Àº Ãß°¡ ÀÛ¾÷¾øÀÌ ÆäÀÌÁö¿¡ µ¿ÀûÀÎ
    ³»¿ëÀ» Á¶±Ý Ãß°¡ÇÏ±â¿¡´Â ÈÇ¸¢ÇÑ ¹æ¹ýÀÌ´Ù.</p>
</section>

</manualpage>
