<?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: 151408:1673932 (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.
-->

<manualpage metafile="content-negotiation.xml.meta">

<title>³»¿ëÇù»ó (Content Negotiation)</title>

<summary>

    <p>¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ ±â¼úµÈ ³»¿ëÇù»ó(content
    negotiation)À» Áö¿øÇÑ´Ù. ³»¿ëÇù»óÀº media type, ¾ð¾î, ¹®ÀÚÁýÇÕ,
    ÀÎÄÚµù µî¿¡ ´ëÇØ ºê¶ó¿ìÀú°¡ Á¦°øÇÑ ¼±È£µµ¿¡ µû¶ó ÀÚ¿øÀÇ
    °¡Àå ÀûÇÕÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÑ´Ù. ¶Ç ºÒ¿ÏÀüÇÑ Çù»ó Á¤º¸¸¦ º¸³»´Â
    ºê¶ó¿ìÀúÀÇ ¿äÃ»À» Áö´ÉÀûÀ¸·Î Ã³¸®ÇÏ´Â ±â´Éµµ ÀÖ´Ù.</p>

    <p>±âº»ÀûÀ¸·Î ÄÄÆÄÀÏµÇ´Â <module>mod_negotiation</module>
    ¸ðµâÀÌ ³»¿ëÇù»ó ±â´ÉÀ» Á¦°øÇÑ´Ù.</p>
</summary>

<section id="about"><title>³»¿ëÇù»ó¿¡ ´ëÇØ</title>

    <p>ÀÚ¿øÀº ¿©·¯ ´Ù¸¥ Ç¥ÇöÀ» °¡Áú ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥
    ¾ð¾î³ª ´Ù¸¥ media type È¤Àº µÑ ¸ðµÎ°¡ ´Ù¸¥ Ç¥ÇöµéÀÌ ÀÖÀ»
    ¼ö ÀÖ´Ù. °¡Àå Àû´çÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÏ´Â ÇÑ°¡Áö ¹æ¹ýÀº »ç¿ëÀÚ¿¡°Ô
    ¸ñ·Ï ÆäÀÌÁö¸¦ º¸¿©ÁÖ°í ¼±ÅÃÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ¼­¹ö°¡
    ÀÚµ¿À¸·Î ¼±ÅÃÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ´Â ºê¶ó¿ìÀú°¡ ¿äÃ»ÀÇ
    ÀÏºÎ·Î ±×µéÀÌ ¼±È£ÇÏ´Â Ç¥Çö¿¡ ´ëÇÑ Á¤º¸¸¦ º¸³»±â¶§¹®¿¡
    °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, ºê¶ó¿ìÀú´Â °¡´ÉÇÑÇÑ ºÒ¾î·Î, ±×·¯³ª
    ¾ø´Ù¸é ¿µ¾î·Î Á¤º¸¸¦ º¸°í½Í´Ù°í ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ºê¶ó¿ìÀú´Â
    ¿äÃ»ÀÇ Çì´õ·Î ±×µéÀÇ ±âÈ£¸¦ ³ªÅ¸³½´Ù. ¿ÀÁ÷ ºÒ¾î·ÎµÈ Ç¥Çö¸¸À»
    ¿äÃ»ÇÑ´Ù¸é ºê¶ó¿ìÀú´Â ´ÙÀ½°ú °°ÀÌ º¸³½´Ù.</p>

<example>Accept-Language: fr</example>

    <p>ÀÌ·± ±âÈ£´Â Ç¥ÇöÀÌ ¾ð¾îº°·Î ´Ù¸¦ °æ¿ì¿¡¸¸ °í·ÁµÈ´Ù.</p>

    <p>´ÙÀ½Àº ´õ º¹ÀâÇÑ ¿äÃ»ÀÇ ¿¹·Î ºê¶ó¿ìÀú°¡ ºÒ¾î¿Í ¿µ¾î¸¦
    ¹ÞÀ» ¼ö ÀÖÁö¸¸, ºÒ¾î¸¦ ´õ ¼±È£ÇÏ°í, ¿©·¯ media typeÀ» ¹ÞÀ»
    ¼ö ÀÖÁö¸¸, ÀÏ¹Ý ÅØ½ºÆ® º¸´Ù´Â HTML, ´Ù¸¥ media type º¸´Ù´Â
    GIF¿Í JPEGÀ» ¼±È£ÇÑ´Ù°í ¾Ë·ÁÁØ´Ù.</p>

<example>
  Accept-Language: fr; q=1.0, en; q=0.5<br />
  Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
</example>

    <p>¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ Á¤ÀÇµÈ '¼­¹ö ÁÖµµ(server driven)'
    ³»¿ëÇù»óÀ» Áö¿øÇÑ´Ù. ¾ÆÆÄÄ¡´Â <code>Accept</code>,
    <code>Accept-Language</code>, <code>Accept-Charset</code>,
    <code>Accept-Encoding</code> ¿äÃ» Çì´õ¸¦ ¸ðµÎ Áö¿øÇÑ´Ù.
    ¶Ç, ¾ÆÆÄÄ¡´Â RFC 2295¿Í RFC 2296¿¡ Á¤ÀÇµÈ ½ÇÇèÀûÀÎ ³»¿ëÇù»óÀÎ
    'ÀÚ¿¬½º·¯¿î(transparent)' ¿äÃ» Çì´õµµ Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ
    RFC¿¡ Á¤ÀÇµÈ '±â´É Çù»ó(feature negotiation)'Àº Áö¿øÇÏÁö
    ¾Ê´Â´Ù.</p>

    <p><strong>ÀÚ¿ø(resource)</strong>Àº (RFC 2396) URI·Î ±¸º°ÇÏ´Â
    °³³äÀûÀÎ Á¸Àç´Ù. ¾ÆÆÄÄ¡¿Í °°Àº À¥¼­¹ö´Â ÀÚ¿øÀÇ
    <strong>Ç¥Çö(representations)</strong>À» Á¦°øÇÑ´Ù. Ç¥ÇöÀº
    ÁöÁ¤µÈ media type, ¹®ÀÚÁýÇÕ, ÀÎÄÚµù µîÀ» °¡Áø ¹ÙÀÌÆ®µé·Î
    µÇÀÖ´Ù. ÀÚ¿øÀº ¿©·¯ Ç¥Çö°ú (¶§·Î´Â ¾øÀ» ¼öµµ ÀÖ´Ù) ¿¬°üµÈ´Ù.
    ÀÚ¿ø¿¡ ¿©·¯ Ç¥ÇöÀÌ ÀÖ´Ù¸é ÀÚ¿øÀ»
    <strong>Çù»ó°¡´ÉÇÏ´Ù°í(negotiable)</strong> ºÎ¸£¸ç, ÀÌ¶§
    °¢ Ç¥ÇöÀ» <strong>º¯Çü(variant)</strong>ÀÌ¶ó°í ÇÑ´Ù.
    Çù»ó°¡´ÉÇÑ ÀÚ¿øÀÇ º¯Çü Á¾·ù¸¦ Çù»óÀÇ
    <strong>¹üÀ§(dimension)</strong>¶ó°í ÇÑ´Ù.</p>
</section>

<section id="negotiation"><title>¾ÆÆÄÄ¡ÀÇ Çù»ó</title>

    <p>ÀÚ¿øÀ» Çù»óÇÏ±âÀ§ÇØ ¼­¹ö´Â °¢ º¯Çü¿¡ ´ëÇÑ Á¤º¸°¡ ÇÊ¿äÇÏ´Ù.
    ´ÙÀ½ µÎ°¡Áö ¹æ¹ýÁß ÇÏ³ª·Î Á¤º¸¸¦ ¾ò´Â´Ù:</p>

    <ul>
      <li>º¯ÇüÀ» ´ãÀº ÆÄÀÏµéÀ» Á÷Á¢ ¿­°ÅÇÑ type mapÀ» (<em>¿¹¸¦
      µé¾î</em>, <code>*.var</code> ÆÄÀÏ) »ç¿ëÇÏ°Å³ª,</li>

      <li>Á÷Á¢ ÁöÁ¤ÇÏÁö¾Ê¾Æµµ ¼­¹ö°¡ ÆÄÀÏ¸í¿¡¼­ ±ÔÄ¢À» Ã£¾Æ¼­
      °á°ú¸¦ ¼±ÅÃÇÏ´Â 'MultiViews'¸¦ »ç¿ëÇÑ´Ù.</li>
    </ul>

   <section id="type-map"><title>type-map ÆÄÀÏ »ç¿ëÇÏ±â</title>

    <p>type mapÀº <code>type-map</code>ÀÌ¶õ ÇÚµé·¯¿Í ¿¬°áµÈ
    (È¤Àº ÀÌÀü ¾ÆÆÄÄ¡ ¼³Á¤°ú È£È¯À» À§ÇØ MIME typeÀÌ
    <code>application/x-type-map</code>ÀÎ) ¹®¼­´Ù. ÀÌ ±â´ÉÀ»
    »ç¿ëÇÏ·Á¸é ¼³Á¤¿¡¼­ <code>type-map</code> ÇÚµé·¯¿¡ ´ëÇÑ
    ÆÄÀÏ È®ÀåÀÚ¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ
    ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.</p>

<example>AddHandler type-map .var</example>

    <p>Type map ÆÄÀÏÀº ÇØ´çÇÏ´Â ÀÚ¿ø°ú ÀÌ¸§ÀÌ °°¾Æ¾ß ÇÏ°í,
    °¢ º¯Çü¿¡ ´ëÇÑ Ç×¸ñÀÌ ÀÖ¾î¾ß ÇÑ´Ù. Ç×¸ñÀº ¿©·¯ HTTPÇü½Ä
    Çì´õ ÁÙ·Î ±¸¼ºµÈ´Ù. º¯Çü¿¡ ´ëÇÑ °¢°¢ÀÇ Ç×¸ñµéÀº ºóÁÙ·Î
    ±¸ºÐÇÑ´Ù. Ç×¸ñ¾È¿¡¼­ ºóÁÙÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. (ÀÌ·¸°Ô ÇÒ
    ÇÊ¿ä°¡ ¾ø°í, ÀÖ¾îµµ ¹«½ÃÇÏÁö¸¸) ¿©·¯ Ç×¸ñÀÌ °øÅëÀ¸·Î °¡Áö°í
    ÀÖ´Â ³»¿ëÀ¸·Î map ÆÄÀÏÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ´ÙÀ½Àº
    map ÆÄÀÏ ¿¹´Ù. ÀÌ ÆÄÀÏÀÇ ÀÌ¸§Àº <code>foo.var</code>·Î,
    <code>foo</code>¶ó´Â ÀÚ¿øÀ» ¼³¸íÇÑ´Ù.</p>

<example>
  URI: foo<br />
<br />
  URI: foo.en.html<br />
  Content-type: text/html<br />
  Content-language: en<br />
<br />
  URI: foo.fr.de.html<br />
  Content-type: text/html;charset=iso-8859-2<br />
  Content-language: fr, de<br />
</example>
    <p>typemap ÆÄÀÏÀÌ ÆÄÀÏ¸í È®ÀåÀÚ º¸´Ù, ½ÉÁö¾î Multiviews¸¦
    »ç¿ëÇÏ¿©µµ, ¿ì¼±±ÇÀ» °¡ÁüÀ» ÁÖÀÇÇÏ¶ó. º¯ÇüÀÌ ¼­·Î ´Ù¸¥ Ç°ÁúÀ»
    °¡Áø´Ù¸é, ´ÙÀ½°ú °°ÀÌ (JPEG, GIF, ASCII-art¿¡ ÇØ´çÇÏ´Â)
    media type¿¡ "qs" ÆÄ¶ó¹ÌÅÍ·Î Ç°Áú(source quality)À» Ç¥½ÃÇÒ
    ¼ö ÀÖ´Ù:</p>

<example>
  URI: foo<br />
<br />
  URI: foo.jpeg<br />
  Content-type: image/jpeg; qs=0.8<br />
<br />
  URI: foo.gif<br />
  Content-type: image/gif; qs=0.5<br />
<br />
  URI: foo.txt<br />
  Content-type: text/plain; qs=0.01<br />
</example>

    <p>qs °ªÀº 0.000¿¡¼­ 1.000 »çÀÌ´Ù. qs °ªÀÌ 0.000ÀÎ º¯ÇüÀº
    Àý´ë ¼±ÅÃµÇÁö ¾ÊÀ½À» ÁÖÀÇÇÏ¶ó. 'qs' °ªÀÌ ¾ø´Â º¯ÇüÀº 1.0À¸·Î
    Ãë±ÞµÈ´Ù. qs °ªÀº Å¬¶óÀÌ¾ðÆ®ÀÇ ´É·Â°ú´Â °ü°è¾øÀÌ ´Ù¸¥ º¯Çüµé°ú
    ºñ±³ÇÏ¿© ±× º¯ÇüÀÇ »ó´ëÀûÀÎ 'Ç°Áú'À» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¾î,
    »çÁøÀ» ³ªÅ¸³»·Á´Â °æ¿ì JPEG ÆÄÀÏÀÌ ASCII ÆÄÀÏº¸´Ù´Â Ç×»ó
    ³ôÀº Ç°ÁúÀ» °¡Áø´Ù. ±×·¯³ª ÀÚ¿øÀÌ ¿ø·¡ ASCII art¿´´Ù¸é
    ASCII Ç¥ÇöÀÌ JPEG Ç¥Çöº¸´Ù ´õ ³ôÀº Ç°ÁúÀ» °¡Áú ¼ö ÀÖ´Ù.
    ±×·¯¹Ç·Î ¾î¶² º¯ÇüÀÇ qs °ªÀº Ç¥ÇöÇÏ·Á´Â ÀÚ¿øÀÇ ¼ºÁú¿¡
    µû¶ó ´Ù¸£´Ù.</p>

    <p>Áö¿øÇÏ´Â ¸ðµç Çì´õ ¸ñ·ÏÀº <a
    href="mod/mod_negotiation.html#typemaps">mod_negotation
    typemap</a> ¹®¼­¸¦ Âü°íÇÏ¶ó.</p>
</section>

<section id="multiviews"><title>Multiviews</title>

    <p><code>MultiViews</code>´Â µð·ºÅä¸®º° ¿É¼ÇÀÌ¹Ç·Î,
    <code>httpd.conf</code>ÀÇ
    <directive module="core" type="section">Directory</directive>,
    <directive module="core" type="section">Location</directive>,
    <directive module="core" type="section">Files</directive>
    ¼½¼Ç È¤Àº (<directive module="core">AllowOverride</directive>°¡
    ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é) <code>.htaccess</code> ÆÄÀÏÀÇ
    <directive module="core">Options</directive> Áö½Ã¾î¿¡ ¼³Á¤ÇÒ
    ¼ö ÀÖ´Ù. <code>Options All</code>Àº <code>MultiViews</code>¸¦
    Æ÷ÇÔÇÏÁö¾ÊÀ½À» ÁÖÀÇÇÏ¶ó. µû·Î Á÷Á¢ ½áÁà¾ß ÇÑ´Ù.</p>

    <p><code>MultiViews</code>¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀÏÀÌ ÀÏ¾î³­´Ù:
    ¼­¹ö°¡ <code>/some/dir/foo</code>¿¡ ´ëÇÑ ¿äÃ»À» ¹Þ°í
    <code>/some/dir/foo</code>¿¡ <code>MultiViews</code>°¡ µ¿ÀÛÇÏ¸ç
    <code>/some/dir/foo</code>°¡ Á¸ÀçÇÏÁö <em>¾ÊÀ»</em> °æ¿ì,
    ¼­¹ö´Â µð·ºÅä¸®¿¡¼­ ÀÌ¸§ÀÌ foo.*ÀÎ ÆÄÀÏµéÀ» ¸ðµç Æ÷ÇÔÇÏ´Â
    °¡»óÀÇ type mapÀ» ¸¸µç´Ù. Å¬¶óÀÌ¾ðÆ®°¡ ¿äÃ»ÇÑ media type°ú
    content-encodingÀ» °¡Áö°í ÀÌÁß¿¡ °¡Àå ÀûÇÕÇÑ °ÍÀ» ¼±ÅÃÇÑ´Ù.</p>

    <p><code>MultiViews</code>´Â ¼­¹ö°¡ µð·ºÅä¸®¸¦ ÂüÁ¶ÇÒ¶§
    ÆÄÀÏÀ» Ã£´Â <directive
    module="mod_dir">DirectoryIndex</directive> Áö½Ã¾î¿¡µµ
    Àû¿ëµÈ´Ù. ¼³Á¤ÆÄÀÏÀÌ ´ÙÀ½°ú °°´Ù¸é,</p>
<example>DirectoryIndex index</example>
    <p><code>index.html</code>°ú <code>index.html3</code>ÀÌ
    ¸ðµÎ ÀÖ´Ù¸é ¼­¹ö´Â ÀÌµÑ Áß¿¡ ÇÏ³ª¸¦ °áÁ¤ÇÑ´Ù. µÑ ¸ðµÎ ¾ø°í
    <code>index.cgi</code>°¡ ÀÖ´Ù¸é, ¼­¹ö´Â ±×°ÍÀ» ½ÇÇàÇÑ´Ù.</p>

    <p>µð·ºÅä¸®¸¦ ÀÐÀ»¶§ ÆÄÀÏÁß ÇÏ³ª°¡ Charset, Content-Type,
    Language, Encoding¸¦ ÆÇ´ÜÇÏ´Â <code>mod_mime</code>ÀÌ ¸ð¸£´Â
    È®ÀåÀÚ¸¦ °¡Áø´Ù¸é, °á°ú´Â <directive
    module="mod_mime">MultiViewsMatch</directive> Áö½Ã¾î ¼³Á¤¿¡
    ´Þ·Ç´Ù. ÀÌ Áö½Ã¾î´Â ÇÚµé·¯, ÇÊÅÍ, ´Ù¸¥ È®ÀåÇüµéÀÌ MultiViews
    Çù»ó¿¡ Âü¿©ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.</p>
</section>
</section>

<section id="methods"><title>Çù»ó¹æ¹ý</title>

    <p>¾ÆÆÄÄ¡°¡ type-map ÆÄÀÏÀÌ³ª µð·ºÅä¸®¿¡ ÀÖ´Â ÆÄÀÏ¸íµé·Î
    ÁÖ¾îÁø ÀÚ¿ø¿¡ ´ëÇÑ º¯Çü ¸ñ·ÏÀ» ¾ò°ÔµÇ¸é 'ÃÖÀûÀÇ' º¯ÇüÀ»
    °áÁ¤ÇÏ±âÀ§ÇØ µÎ ¹æ¹ýÁß ÇÏ³ª¸¦ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ³»¿ëÇù»ó
    ±â´ÉÀ» »ç¿ëÇÏ±âÀ§ÇØ Á¤È®È÷ Çù»óÀÌ ¾î¶»°Ô ÀÏ¾î³ª´ÂÁö ÀÚ¼¼È÷
    ¾Ë ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª ±Ã±ÝÇÑ »ç¶÷À» À§ÇØ ÀÌ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.</p>

    <p>µÎ°¡Áö Çù»ó¹æ¹ýÀÌ ÀÖ´Ù:</p>

    <ol>
      <li><strong>¾ÆÆÄÄ¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¿© ¼­¹ö°¡ ÁÖµµÇÏ´Â
      Çù»ó</strong>Àº ÀÏ¹ÝÀûÀÎ °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ¾Ë°í¸®ÁòÀº
      ¾Æ·¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¸é ¾ÆÆÄÄ¡´Â
      ´õ ³ªÀº °á°ú¸¦ ¾ò±âÀ§ÇØ Á¾Á¾ Æ¯Á¤ ¹üÀ§ÀÇ
      Ç°Áú°è¼ö(quality factor)¸¦ 'Á¶ÀÛÇÑ´Ù'. ¾ÆÆÄÄ¡°¡ Ç°Áú°è¼ö¸¦
      Á¶ÀÛÇÏ´Â ¹æ¹ýÀº ¾Æ·¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.</li>

      <li><strong>ÀÚ¿¬½º·¯¿î(Transparent) ³»¿ëÇù»ó</strong>Àº
      ºê¶ó¿ìÀú°¡ RFC 2295¿¡ Á¤ÀÇµÈ ¹æ¹ýÀ¸·Î ¿äÃ»ÇÒ °æ¿ì¿¡¸¸
      »ç¿ëÇÑ´Ù. ÀÌ Çù»ó¹æ¹ýÀº 'ÃÖÀûÀÇ' º¯ÇüÀ» °áÁ¤ÇÒ ±ÇÇÑÀ»
      ºê¶ó¿ìÀú¿¡°Ô ºÎ¿©ÇÑ´Ù. ±×·¡¼­ °á°ú´Â ºê¶ó¿ìÀúÀÇ ¾Ë°í¸®Áò¿¡
      ´Þ·È´Ù. ÀÚ¿¬½º·¯¿î Çù»ó°úÁ¤Áß¿¡ ºê¶ó¿ìÀú´Â ¾ÆÆÄÄ¡¿¡°Ô
      RFC 2296¿¡ Á¤ÀÇµÈ '¿ø°Ý º¯Çü¼±ÅÃ ¾Ë°í¸®Áò(remote variant
      selection algorithm)'À» ¿äÃ»ÇÒ ¼ö ÀÖ´Ù.</li>
    </ol>

<section id="dimensions"><title>Çù»óÀÇ ¹üÀ§</title>

    <table>
      <columnspec><column width=".15"/><column width=".85"/></columnspec>
      <tr valign="top">
        <th>¹üÀ§</th>

        <th>¼³¸í</th>
      </tr>

      <tr valign="top">
        <td>Media Type</td>

        <td>ºê¶ó¿ìÀú´Â <code>Accept</code> Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù.
        °¢ Ç×¸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀÇ ¼³¸íµµ Ç°Áú°è¼ö¸¦
        ("qs" ÆÄ¶ó¹ÌÅÍ) °¡Áú ¼ö ÀÖ´Ù.</td>
      </tr>

      <tr valign="top">
        <td>Language</td>

        <td>ºê¶ó¿ìÀú´Â <code>Accept-Language</code> Çì´õ·Î ¼±È£¸¦
        ³ªÅ¸³½´Ù. °¢ Ç×¸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº
        ¿©·¯ ¾ð¾î¸¦ °¡Áú (È¤Àº ¾Æ¹« ¾ð¾îµµ ¾øÀ») ¼ö ÀÖ´Ù.</td>
      </tr>

      <tr valign="top">
        <td>Encoding</td>

        <td>ºê¶ó¿ìÀú´Â <code>Accept-Encoding</code> Çì´õ·Î ¼±È£¸¦
        ³ªÅ¸³½´Ù. °¢ Ç×¸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù.</td>
      </tr>

      <tr valign="top">
        <td>Charset</td>

        <td>ºê¶ó¿ìÀú´Â <code>Accept-Charset</code> Çì´õ·Î ¼±È£¸¦
        ³ªÅ¸³½´Ù. °¢ Ç×¸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº
        media typeÀÇ ÆÄ¶ó¹ÌÅÍ·Î ¹®ÀÚÁýÇÕÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù.</td>
      </tr>
    </table>
</section>

<section id="algorithm"><title>¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®Áò</title>

    <p>¾ÆÆÄÄ¡´Â ºê¶ó¿ìÀú¿¡°Ô º¸³¾ 'ÃÖÀûÀÇ' º¯ÇüÀ» (ÀÖ´Ù¸é)
    ¼±ÅÃÇÏ±âÀ§ÇØ ¾Æ·¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀº º¯°æÇÒ
    ¼ö ¾ø´Ù. ´ÙÀ½¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù:</p>

    <ol>
      <li>¸ÕÀú, Çù»óÀÇ °¢ ¹üÀ§¿¡ ´ëÇØ ÇØ´çÇÏ´Â <em>Accept*</em>
      Çì´õ¸¦ °Ë»çÇÏ°í, °¢ º¯Çü¿¡ Ç°Áú°ªÀ» ¸Å±ä´Ù. ¾î¶² ¹üÀ§ÀÇ
      <em>Accept*</em> Çì´õ°¡ ¹Þ¾ÆµéÀÌÁö ¾Ê´Â º¯ÇüÀº ÈÄº¸¿¡¼­
      Á¦¿ÜÇÑ´Ù. ¾î¶² º¯Çüµµ ³²Áö¾ÊÀ¸¸é 4 ´Ü°è·Î °£´Ù.</li>

      <li>
        ÈÄº¸¿¡¼­ ÇÏ³ª¾¿ Á¦¿ÜÇÏ¿© 'ÃÖÀûÀÇ' º¯ÇüÀ» Ã£´Â´Ù. ´ÙÀ½
        °¢ °Ë»ç´Â ¼ø¼­´ë·Î ÀÏ¾î³­´Ù. °¢ °Ë»ç¿¡¼­ ¼±ÅÃµÇÁö¾ÊÀº
        º¯ÇüÀº Á¦¿ÜµÈ´Ù. °¢ °Ë»çÈÄ ÇÑ º¯Çü¸¸ ³²À¸¸é ÀÌ¸¦ ÃÖÀûÀÇ
        º¯ÇüÀ¸·Î ¼±ÅÃÇÏ°í 3 ´Ü°è·Î °£´Ù. ¿©·¯ º¯ÇüÀÌ ³²À¸¸é
        ´ÙÀ½ °Ë»ç¸¦ ÁøÇàÇÑ´Ù.

        <ol>
          <li><code>Accept</code> Çì´õÀÇ Ç°Áú°è¼ö¿Í º¯ÇüÀÇ
          media type¿¡ ´ëÇÑ Ç°Áú°ªÀ» °öÇÏ¿© °¡Àå ³ôÀº °ªÀ»
          °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.</li>

          <li>°¡Àå ³ôÀº ¾ð¾î(language) Ç°Áú°è¼ö¸¦ °¡Áø º¯ÇüÀ»
          ¼±ÅÃÇÑ´Ù.</li>

          <li><code>Accept-Language</code> Çì´õ¿¡ (ÀÖ´Ù¸é)
          ³ª¿Â ¾ð¾îÀÇ ¼ø¼­ È¤Àº <code>LanguagePriority</code>
          Áö½Ã¾î¿¡ (ÀÖ´Ù¸é) ³ª¿Â ¾ð¾îÀÇ ¼ø¼­¸¦ °¡Áö°í °¡Àå
          ÀûÇÕÇÑ ¾ð¾î¸¦ °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.</li>

          <li>°¡Àå ³ôÀº (text/html media typeÀÇ ¹öÀüÀ» ³ªÅ¸³»´Â)
          'level' media ÆÄ¶ó¹ÌÅÍ¸¦ °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.</li>

          <li><code>Accept-Charset</code> Çì´õ¸¦ °¡Áö°í °¡Àå
          ÀûÇÕÇÑ charset media ÆÄ¶ó¹ÌÅÍ¸¦ °¡Áø º¯ÇüÀ» Ã£´Â´Ù.
          Çì´õ°¡ ¾ø´Ù¸é ISO-8859-1 ¹®ÀÚÁýÇÕÀ» °¡Àå ¼±È£ÇÑ´Ù.
          <code>text/*</code> media typeÀ» °¡ÁöÁö¸¸ ¸í½ÃÀûÀ¸·Î
          Æ¯Á¤ ¹®ÀÚÁýÇÕ°ú ¿¬°áµÇÁö¾ÊÀº º¯ÇüÀº ISO-8859-1·Î
          °¡Á¤ÇÑ´Ù.</li>

          <li>ISO-8859-1ÀÌ <em>¾Æ´Ñ</em> charset media ÆÄ¶ó¹ÌÅÍ¸¦
          °¡Áø º¯ÇüµéÀ» ¼±ÅÃÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é, ´ë½Å ¸ðµç
          º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.</li>

          <li>°¡Àå ÀûÇÕÇÑ ÀÎÄÚµùÀ» °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
          user-agent¿¡ ÀûÇÕÇÑ ÀÎÄÚµùÀ» °¡Áø º¯ÇüÀÌ ÀÖ´Ù¸é ±×
          º¯Çü¸¸À» ¼±ÅÃÇÑ´Ù. ±×·¸Áö¾Ê°í ÀÎÄÚµùµÈ º¯Çü°ú ÀÎÄÚµù¾ÈµÈ
          º¯ÇüÀÌ °°ÀÌ ÀÖ´Ù¸é ÀÎÄÚµù¾ÈµÊ º¯Çü¸¸À» ¼±ÅÃÇÑ´Ù. º¯ÇüÀÌ
          ¸ðµÎ ÀÎÄÚµùµÇ¾ú°Å³ª ¸ðµÎ ÀÎÄÚµù¾ÈµÈ °æ¿ì ¸ðµç º¯ÇüÀ»
          ¼±ÅÃÇÑ´Ù.</li>

          <li>content length°¡ °¡Àå ÀûÀº º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.</li>

          <li>³²Àº °ÍÁß Ã¹¹øÀç º¯ÇüÀ» ¼±ÅÃÇÑ´Ù. ÀÌ´Â type-map
          ÆÄÀÏÀÇ ¾Õ¿¡ ³ª¿Ô°Å³ª, µð·ºÅä¸®¿¡¼­ º¯ÇüÀ» ÀÐÀº °æ¿ì
          ÆÄÀÏ¸íÀ» ASCII ÄÚµå ¼ø¼­·Î ÇÏ¿© ¾Õ¿¡ ³ª¿À´Â °ÍÀÌ´Ù.</li>
        </ol>
      </li>

      <li>ÀÌÁ¦ ¾Ë°í¸®ÁòÀÌ 'ÃÖÀûÀÇ' º¯ÇüÀ» ¼±ÅÃÇß´Ù. ÀÌ°ÍÀ» ÀÀ´äÀ¸·Î
      º¸³½´Ù. HTTP ÀÀ´ä Çì´õ <code>Vary</code>´Â Çù»óÀÇ ¹üÀ§¸¦
      ³ªÅ¸³»°Ô µÈ´Ù. (ºê¶ó¿ìÀú¿Í Ä³½¬´Â ÀÚ¿øÀ» Ä³½¬ÇÒ¶§ ÀÌ Á¤º¸¸¦
      »ç¿ëÇÒ ¼ö ÀÖ´Ù.) ³¡.</li>

      <li>ÀÌ ´Ü°è¿¡ µµ´ÞÇß´Ù¸é (¸ðµÎ ºê¶ó¿ìÀú°¡ ¹ÞÁö¸øÇÏ±â ¶§¹®¿¡)
      ¾î¶² º¯Çüµµ ¼±ÅÃÀÌ ¾ÈµÈ °æ¿ì´Ù. ("No acceptable
      representation"¸¦ ¶æÇÏ´Â) »óÅÂ 406°ú ³»¿ëÀ¸·Î »ç¿ë°¡´ÉÇÑ
      º¯ÇüÀÇ ¸ñ·ÏÀ» ´ãÀº HTML ¹®¼­¸¦ ÀÀ´äÀ» º¸³½´Ù. ¶Ç, HTML
      <code>Vary</code> Çì´õ´Â º¯ÇüÀÇ ¹üÀ§¸¦ ³ªÅ¸³½´Ù.</li>
    </ol>
</section>
</section>

<section id="better"><title>Ç°Áú°è¼ö Á¶ÀÛÇÏ±â</title>

    <p>¾ÆÆÄÄ¡´Â Á¾Á¾ À§ÀÇ ¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®ÁòÀ» ¾ö°ÝÈ÷ ÁöÅ°Áö¾Ê°í
    Ç°Áú°è¼ö¸¦ º¯°æÇÑ´Ù. ÀÌÀ¯´Â ¿ÏÀüÇÏ°í Á¤È®ÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â
    ºê¶ó¿ìÀú¿¡°Ô (¾Ë°í¸®ÁòÀÇ) ´õ ³ªÀº °á°ú¸¦ º¸³»±â À§ÇØ¼­´Ù.
    ³Î¸® ¾²ÀÌ´Â ºê¶ó¿ìÀúÁß ÀÏºÎ´Â ÀÚÁÖ Àß¸øµÈ º¯ÇüÀ» ¼±ÅÃÇÏµµ·Ï
    <code>Accept</code> Çì´õ¸¦ º¸³½´Ù. ºê¶ó¿ìÀú°¡ ¿ÏÀüÇÏ°í ¿Ã¹Ù¸¥
    Á¤º¸¸¦ º¸³½´Ù¸é, Á¶ÀÛÀ» ÇÏÁö¾Ê´Â´Ù.</p>

<section id="wildcards"><title>Media Type°ú ¿ÍÀÏµåÄ«µå</title>

    <p><code>Accept:</code> ¿äÃ» Çì´õ´Â media type¿¡ ´ëÇÑ ¼±È£¸¦
    ³ªÅ¸³½´Ù. ¶Ç, *´Â ¾î¶² ¹®ÀÚ¿­ÀÌ¶óµµ °¡´ÉÇÏ±â¶§¹®¿¡ "image/*"³ª
    "*/*" °°ÀÌ '¿ÍÀÏµåÄ«µå' media typeÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¡¼­
    ´ÙÀ½°ú °°Àº ¿äÃ»Àº:</p>

<example>Accept: image/*, */*</example>

    <p>"image/"·Î ½ÃÀÛÇÏ´Â ¾î¶² type°ú ´Ù¸¥ ¾î¶² typeµµ °¡´ÉÇÔÀ»
    ÀÇ¹ÌÇÑ´Ù. ¾î¶² ºê¶ó¿ìÀú´Â
    ÀÚ½ÅÀÌ ½ÇÁ¦·Î ´Ù·ê ¼ö ÀÖ´Â type¿¡ Ãß°¡·Î ¿ÍÀÏµåÄ«µå¸¦ º¸³½´Ù.
    ¿¹¸¦ µé¸é:</p>

<example>
  Accept: text/html, text/plain, image/gif, image/jpeg, */*
</example>
    <p>ÀÌÀ¯´Â Á÷Á¢ ¿­°ÅÇÑ typeÀ» ¼±È£ÇÏÁö¸¸ ´Ù¸¥ Ç¥ÇöÀÌ ÀÖ´Ù¸é
    ±×°Íµµ ±¦ÂúÀ½À» ³ªÅ¸³»±â À§ÇØ¼­´Ù. ºê¶ó¿ìÀú°¡ ½ÇÁ¦·Î ¿øÇÑ
	°ÍÀº ´ÙÀ½°ú °°ÀÌ ¸í½ÃÀûÀ¸·Î Ç°Áú°ªÀ» »ç¿ëÇÑ °ÍÀÌ´Ù.</p>
<example>
  Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
</example>
    <p>Á÷Á¢ ¿­°ÅÇÑ typeÀº Ç°Áú°è¼ö°¡ ¾ø¾î¼­ ±âº»°ªÀÎ (°¡Àå ³ôÀº)
    1.0À» °¡Áø´Ù. ¿ÍÀÏµåÄ«µå */*´Â ³·Àº ¼±È£µµ 0.01À» °¡Áö¹Ç·Î
    Á÷Á¢ ¿­°ÅÇÑ type¿¡ ¸Â´Â º¯ÇüÀÌ ¾ø´Â °æ¿ì¿¡¸¸ ´Ù¸¥ typeµéÀÌ
    »ç¿ëµÈ´Ù.</p>

    <p><code>Accept:</code> Çì´õ¿¡ q °è¼ö°¡ ÀüÇô <em>¾ø°í</em>
    "*/*"°¡ ÀÖ´Ù¸é, ¾ÆÆÄÄ¡´Â ¹Ù¶÷Á÷ÇÑ Çàµ¿À» À§ÇØ q °ªÀ¸·Î 0.01À»
    ÁöÁ¤ÇÑ´Ù. ¶Ç, "type/*" ÇüÅÂÀÇ ¿ÍÀÏµåÄ«µå¿¡´Â ("*/*"º¸´Ù´Â
    ´õ ¼±È£ÇÏµµ·Ï) 0.02¸¦ ÁöÁ¤ÇÑ´Ù. <code>Accept:</code> Çì´õ¿¡¼­
    q °è¼ö¸¦ °¡Áö´Â media typeÀÌ ÀÖ´Ù¸é ÀÌ·± Æ¯º°ÇÑ °ªÀ» Ãß°¡ÇÏÁö
    <em>¾Ê´Â´Ù</em>. ±×·¡¼­ ¸í½ÃÀûÀÎ Á¤º¸¸¦ º¸³»´Â ºê¶ó¿ìÀúÀÇ
    ¿äÃ»Àº ¿äÃ»ÇÑµ¥·Î Ã³¸®ÇÑ´Ù.</p>
</section>

<section id="exceptions"><title>¾ð¾î(language) Çù»óÀÇ ¿¹¿Ü</title>

    <p>¾ÆÆÄÄ¡ 2.0Àº ¾ð¾î Çù»óÀÌ ½ÇÆÐÇÑ °æ¿ì ºÎµå·´°Ô º¹±¸ÇÏ±âÀ§ÇØ
    Çù»ó ¾Ë°í¸®Áò¿¡ »õ·Î ¿¹¿Ü¸¦ ¸î°³ Ãß°¡Çß´Ù.</p>

    <p>Å¬¶óÀÌ¾ðÆ®°¡ ¼­¹ö¿¡ ÆäÀÌÁö¸¦ ¿äÃ»ÇßÀ»¶§ ¼­¹ö°¡ ºê¶ó¿ìÀú°¡
    º¸³½ <code>Accept-language</code>¿¡ ¸Â´Â ÆäÀÌÁö¸¦ ´Ü ÇÑ°³¸¸
    Ã£À¸¸é ¹®Á¦°¡ ¾øÁö¸¸, ±×·¯Áö ¾ÊÀº °æ¿ì ¼­¹ö´Â Å¬¶óÀÌ¾ðÆ®¿¡°Ô
    "No Acceptable Variant"³ª "Multiple Choices" ÀÀ´äÀ» º¸³½´Ù.
    ÀÌ·± ¿À·ù¹®À» ÇÇÇÏ±âÀ§ÇØ ÀÌ °æ¿ì <code>Accept-language</code>¸¦
    ¹«½ÃÇÏ°í Å¬¶óÀÌ¾ðÆ®ÀÇ ¿äÃ»¿¡ ¸íÈ®È÷ ¸ÂÁö´Â ¾ÊÁö¸¸ ¹®¼­¸¦
    º¸³»µµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. <directive
    module="mod_negotiation">ForceLanguagePriority</directive>
    Áö½Ã¾î´Â ¼­¹ö°¡ ÀÌ·± ¿À·ù¹®Áß ÇÏ³ª È¤Àº µÑ´Ù¸¦ ¹«½ÃÇÏ°í
    <directive module="mod_negotiation">LanguagePriority</directive>
    Áö½Ã¾î·Î ÆÇ´ÜÇÏµµ·Ï ÇÑ´Ù.</p>

    <p>¶Ç, ¼­¹ö´Â ¸Â´Â ¾ð¾î¸¦ ¸øÃ£Àº °æ¿ì ºÎ¸ð¾ð¾î¸¦ Ã£À» ¼öµµ
    ÀÖ´Ù. ¿¹¸¦ µé¾î Å¬¶óÀÌ¾ðÆ®°¡ ¿µ±¹¿µ¾î¸¦ ¶æÇÏ´Â
    <code>en-GB</code> ¾ð¾î·Î ¹®¼­¸¦ ¿äÃ»ÇÑ °æ¿ì, HTTP/1.1 Ç¥ÁØ¿¡
    µû¸£¸é ¼­¹ö´Â <code>en</code>À¸·Î¸¸ Ç¥½ÃµÈ ¹®¼­¸¦ ÀÏ¹ÝÀûÀ¸·Î
    ¼±ÅÃÇÏÁö ¸øÇÑ´Ù. (±×·¡¼­ ¿µ±¹¿µ¾î¸¦ ÀÌÇØÇÏ´Â µ¶ÀÚ°¡ ÀÏ¹ÝÀûÀÎ
    ¿µ¾îµµ ÀÌÇØÇÒ ¼ö ÀÖÀ¸¹Ç·Î <code>Accept-Language</code> Çì´õ¿¡
    <code>en-GB</code>¸¸ Æ÷ÇÔÇÏ°í <code>en</code>À» Æ÷ÇÔÇÏÁö¾ÊÀ¸¸é
    °ÅÀÇ È®½ÇÈ÷ Àß¸øµÈ ¼³Á¤ÀÓÀ» À¯ÀÇÇÏ¶ó. ºÒÇàÈ÷µµ ÇöÀç ¸¹Àº
    Å¬¶óÀÌ¾ðÆ®µéÀº ÀÌ·± ½ÄÀ¸·Î ±âº»¼³Á¤µÇÀÖ´Ù.) ´Ù¸¥ ¾ð¾î¸¦
    Ã£Áö ¸øÇÏ¿© ¼­¹ö°¡ "No Acceptable Variants" ¿À·ù¸¦ º¸³»°Å³ª
    <directive module="mod_negotiation">LanguagePriority</directive>·Î
    µ¹¾Æ°¡¾ß ÇÑ´Ù¸é, ¼­¹ö´Â ÇÏÀ§¾ð¾î ±Ô¾àÀ» ¹«½ÃÇÏ°í
    <code>en-GB</code>¸¦ <code>en</code> ¹®¼­¿¡ ´ëÀÀÇÑ´Ù.
    ¾Ï¹¬ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â ºÎ¸ð¾ð¾î¸¦ ¸Å¿ì ³·Àº Ç°Áú°ªÀ¸·Î
    Å¬¶óÀÌ¾ðÆ®ÀÇ Çã¿ë¾ð¾î ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù. ±×·¯³ª Å¬¶óÀÌ¾ðÆ®°¡
    "en-GB; q=0.9, fr; q=0.8"À» ¿äÃ»ÇÏ°í ¼­¹ö¿¡ "en"°ú "fr"
    ¹®¼­°¡ ÀÖ´Ù¸é, "fr" ¹®¼­°¡ ¼±ÅÃµÊÀ» ÁÖÀÇÇÏ¶ó. ÀÌ´Â HTTP/1.1
    Ç¥ÁØÀ» ÁöÅ°°í, ¿Ã¹Ù·Î ¼³Á¤µÈ Å¬¶óÀÌ¾ðÆ®¿Í È¿À²ÀûÀ¸·Î
    µ¿ÀÛÇÏ±âÀ§ÇÔÀÌ´Ù.</p>

    <p>»ç¿ëÀÚ°¡ ¼±È£ÇÏ´Â ¾ð¾î¸¦ ¾Ë¾Æ³»±âÀ§ÇÑ (ÄíÅ°³ª Æ¯º°ÇÑ
    URL-°æ·Î °°Àº) °í±Þ ±â¹ýÀ» Áö¿øÇÏ±âÀ§ÇØ ¾ÆÆÄÄ¡ 2.0.47ºÎÅÍ
    <module>mod_negotiation</module>Àº <code>prefer-language</code>¶ó´Â
    <a href="env.html">È¯°æº¯¼ö</a>¸¦ ÀÎ½ÄÇÑ´Ù. ÀÌ È¯°æº¯¼ö°¡
    Á¸ÀçÇÏ°í ÀûÀýÇÑ ¾ð¾îÅÂ±×¸¦ Æ÷ÇÔÇÑ´Ù¸é,
    <module>mod_negotiation</module>Àº ÇØ´çÇÏ´Â º¯ÇüÀ» ¼±ÅÃÇÏ·Á°í
    ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀÏ¹ÝÀûÀÎ Çù»ó°úÁ¤À» ½ÃÀÛÇÑ´Ù.</p>

    <example><title>¿¹Á¦</title>
      SetEnvIf Cookie "language=(.+)" prefer-language=$1
    </example>
</section>
</section>

<section id="extensions"><title>ÀÚ¿¬½º·¯¿î(transparent) ³»¿ëÇù»óÀÇ È®Àå</title> 

<p>¾ÆÆÄÄ¡´Â ´ÙÀ½°ú °°ÀÌ ÀÚ¿¬½º·¯¿î ³»¿ëÈ®Àå ÇÁ·ÎÅäÄÝÀ» (RFC 2295)
È®ÀåÇÑ´Ù. º¯Çü ¸ñ·ÏÀÇ »õ·Î¿î <code>{encoding ..}</code>´Â Æ¯Á¤
content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöÄªÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº
(RFC 2296) ¸ñ·Ï¿¡¼­ ÀÎÄÚµùµÈ º¯ÇüÀ» ÀÎ½ÄÇÒ ¼ö ÀÖ°í, ÀÎÄÚµùÀÌ
<code>Accept-Encoding</code> ¿äÃ» Çì´õ¿¡ ¸Â´Â °æ¿ì ÀÎÄÚµùµÈ
º¯Çüµéµµ ÈÄº¸·Î »ç¿ëÇÏµµ·Ï È®ÀåµÇ¾ú´Ù. RVSA/1.0 ±¸ÇöÀº ÃÖÀûÀÇ
º¯ÇüÀ» Ã£±â Àü¿¡ °è»êµÈ Ç°Áú°è¼ö¸¦ ¼Ò¼öÁ¡ 5ÀÚ¸®¿¡¼­ ¹Ý¿Ã¸²ÇÏÁö
¾Ê´Â´Ù.</p>
</section>

<section id="naming"><title>ÇÏÀÌÆÛ¸µÅ©¿Í ÀÌ¸§±ÔÄ¢¿¡ ´ëÇÏ¿©</title>

    <p>¾ð¾î(language) Çù»óÀ» »ç¿ëÇÑ´Ù¸é ÆÄÀÏÀº ¿©·¯ È®ÀåÀÚ¸¦
    °¡Áö°í È®ÀåÀÚÀÇ ¼ø¼­´Â º¸Åë °ü°è¾øÀ¸¹Ç·Î ÆÄÀÏ¸í¿¡ ¿©·¯ ´Ù¸¥
    ÀÌ¸§±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº <a
    href="mod/mod_mime.html#multipleext">mod_mime</a> ¹®¼­¸¦
    Âü°íÇÏ¶ó.)</p>

    <p>ÀüÇüÀûÀÎ ÆÄÀÏÀº MIME-type È®ÀåÀÚ (<em>¿¹¸¦ µé¾î</em>,
    <code>html</code>), °æ¿ì¿¡ µû¶ó encoding È®ÀåÀÚ (<em>¿¹¸¦
    µé¾î</em>, <code>gz</code>), ÆÄÀÏ¿¡ ¿©·¯ ¾ð¾î º¯ÇüÀÌ ÀÖ´Â
    °æ¿ì ¹°·Ð ¾ð¾î È®ÀåÀÚ¸¦ (<em>¿¹¸¦ µé¾î</em>, <code>en</code>)
    °¡Áø´Ù.</p>

    <p>¿¹Á¦:</p>

    <ul>
      <li>foo.en.html</li>

      <li>foo.html.en</li>

      <li>foo.en.html.gz</li>
    </ul>

    <p>´ÙÀ½Àº ¸î¸î ÆÄÀÏ¸í°ú ±× ÆÄÀÏ¿¡ ´ëÇÑ À¯È¿ÇÏ°í À¯È¿ÇÏÁö¾ÊÀº
    ÇÏÀÌÆÛ¸µÅ©¸¦ º¸ÀÎ´Ù:</p>

    <table border="1" cellpadding="8" cellspacing="0">
      <columnspec><column width=".2"/><column width=".2"/>
        <column width=".2"/></columnspec>
      <tr>
        <th>ÆÄÀÏ¸í</th>

        <th>À¯È¿ÇÑ ÇÏÀÌÆÛ¸µÅ©</th>

        <th>À¯È¿ÇÏÁö¾ÊÀº ÇÏÀÌÆÛ¸µÅ©</th>
      </tr>

      <tr>
        <td><em>foo.html.en</em></td>

        <td>foo<br />
         foo.html</td>

        <td>-</td>
      </tr>

      <tr>
        <td><em>foo.en.html</em></td>

        <td>foo</td>

        <td>foo.html</td>
      </tr>

      <tr>
        <td><em>foo.html.en.gz</em></td>

        <td>foo<br />
         foo.html</td>

        <td>foo.gz<br />
         foo.html.gz</td>
      </tr>

      <tr>
        <td><em>foo.en.html.gz</em></td>

        <td>foo</td>

        <td>foo.html<br />
         foo.html.gz<br />
         foo.gz</td>
      </tr>

      <tr>
        <td><em>foo.gz.html.en</em></td>

        <td>foo<br />
         foo.gz<br />
         foo.gz.html</td>

        <td>foo.html</td>
      </tr>

      <tr>
        <td><em>foo.html.gz.en</em></td>

        <td>foo<br />
         foo.html<br />
         foo.html.gz</td>

        <td>foo.gz</td>
      </tr>
    </table>

    <p>À§ Ç¥¸¦ º¸¸é ÇÏÀÌÆÛ¸µÅ©¿¡ ¾î¶² È®ÀåÀÚµµ ¾ø´Â ÀÌ¸§À»
    (<em>¿¹¸¦ µé¾î</em>, <code>foo</code>) Ç×»ó »ç¿ëÇÒ ¼ö ÀÖÀ½À»
    ¾Ë ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀåÁ¡Àº ¹®¼­ÀÇ ½ÇÁ¦ Á¾·ù¸¦ ¼û±æ ¼ö ÀÖ¾î¼­,
    <em>¿¹¸¦ µé¾î</em> ÇÏÀÌ·¯¸µÅ© ÂüÁ¶¸¦ ¼öÁ¤ÇÏ¾Ê°í
    <code>html</code> ÆÄÀÏÀ» <code>shtml</code>ÀÌ³ª
    <code>cgi</code>·Î º¯°æÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.</p>

    <p>°è¼Ó ÇÏÀÌÆÛ¸µÅ©¿¡ MIME-typeÀ» (<em>¿¹¸¦ µé¾î</em>,
    <code>foo.html</code>) »ç¿ëÇÏ°í ½Í´Ù¸é (encoding È®ÀåÀÚ°¡
    ÀÖ´Ù¸é ÀÌ°Íµµ Æ÷ÇÔÇÏ¿©) ¾ð¾î È®ÀåÀÚ¸¦ MIME-type È®ÀåÀÚº¸´Ù
    ¿À¸¥ÂÊ¿¡ (<em>¿¹¸¦ µé¾î</em>, <code>foo.html.en</code>)
    µÎ¾î¾ßÇÑ´Ù.</p>
</section>

<section id="caching"><title>Ä³½¬¿¡ ´ëÇÏ¿©</title>

    <p>Ä³½¬°¡ Ç¥ÇöÀ» ÀúÀåÇÏ¸é Ç¥Çö°ú ¿äÃ» URLÀ» ¿¬°ü½ÃÅ²´Ù.
    ´ÙÀ½¹ø ±× URLÀ» ¿äÃ»ÇÏ¸é Ä³½¬´Â ÀúÀåµÈ Ç¥ÇöÀ» »ç¿ëÇÑ´Ù.
    ±×·¯³ª ¼­¹ö¿Í Çù»óÀÌ °¡´ÉÇÑ ÀÚ¿øÀÎ °æ¿ì Ã¹¹øÂ° ¿äÃ»ÇÑ º¯Çü¸¸
    Ä³½¬µÇ¾î ÀÌÈÄ ¿äÃ»Àº Ä³½¬µÈ Àß¸øµÈ ÀÀ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù.
    ÀÌ¸¦ ¸·±âÀ§ÇØ ¾ÆÆÄÄ¡´Â º¸Åë ³»¿ëÇù»óÈÄ ¹ÝÈ¯µÇ´Â ¸ðµç ¿äÃ»¿¡
    HTTP/1.0 Å¬¶óÀÌ¾ðÆ®°¡ Ä³½¬¸¦ ¸øÇÏµµ·Ï Ç¥½Ã¸¦ ÇÑ´Ù. ¶Ç, ¾ÆÆÄÄ¡´Â
    Çù»óÇÑ ÀÀ´äÀÇ Ä³½¬¸¦ Çã¿ëÇÏ´Â HTTP/1.1 ÇÁ·ÎÅäÄÝÀÇ ±â´ÉÀ»
    Áö¿øÇÑ´Ù.</p>

    <p><directive
    module="mod_negotiation">CacheNegotiatedDocs</directive>
    Áö½Ã¾î´Â HTTP/1.0 È£È¯ Å¬¶óÀÌ¾ðÆ®(ºê¶ó¿ìÀú È¤Àº Ä³½¬)°¡
    º¸³½ ¿äÃ»¿¡ ´ëÇØ Çù»óÇÑ ÀÀ´äÀ» Ä³½¬ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â
    ¼­¹ö³ª °¡»óÈ£½ºÆ® ¼³Á¤¿¡ »ç¿ëÇÏ¸ç, ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¾Ê´Â´Ù.
    ÀÌ Áö½Ã¾î´Â HTTP/1.1 Å¬¶óÀÌ¾ðÆ®ÀÇ ¿äÃ»°ú´Â °ü°è°¡ ¾ø´Ù.</p>

    <p>HTTP/1.1 Å¬¶óÀÌ¾ðÆ®¿¡°Ô ¾ÆÆÄÄ¡´Â ÀÀ´äÀÇ Çù»ó ¹üÀ§¸¦
    ¾Ë·ÁÁÖ´Â <code>Vary</code> HTTP ÀÀ´äÇì´õ¸¦ º¸³½´Ù. ÀÌ Á¤º¸¸¦
    »ç¿ëÇÏ¿© ´ÙÀ½ ¿äÃ»À» Ä³½¬µÈ º¹»çº»À¸·Î ´ëÃ¼ÇÒ ¼ö ÀÖ´ÂÁö
    ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. Çé»óÀÇ ¹üÀ§¿Í °ü°è¾øÀÌ Ä³½¬µÈ º¹»çº»À»
    ±ÇÇÑ´Ù¸é <code>force-no-vary</code> <a
    href="env.html#special">È¯°æº¯¼ö</a>¸¦ ¼³Á¤ÇÑ´Ù.</p>

</section>

</manualpage>
