home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277653_contentnegotiation.xml.ko < prev    next >
Extensible Markup Language  |  2004-05-07  |  23KB  |  596 lines

  1. <?xml version='1.0' encoding='EUC-KR' ?>
  2. <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
  4. <!-- English Revision: 1.1.2.15 -->
  5.  
  6. <!--
  7.  Copyright 2003-2004 The Apache Software Foundation
  8.  
  9.  Licensed under the Apache License, Version 2.0 (the "License");
  10.  you may not use this file except in compliance with the License.
  11.  You may obtain a copy of the License at
  12.  
  13.      http://www.apache.org/licenses/LICENSE-2.0
  14.  
  15.  Unless required by applicable law or agreed to in writing, software
  16.  distributed under the License is distributed on an "AS IS" BASIS,
  17.  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18.  See the License for the specific language governing permissions and
  19.  limitations under the License.
  20. -->
  21.  
  22. <manualpage metafile="content-negotiation.xml.meta">
  23.  
  24. <title>│╗┐δ╟∙╗≤ (Content Negotiation)</title>
  25.  
  26. <summary>
  27.  
  28.     <p>╛╞╞──í┤┬ HTTP/1.1 ▒╘╛α┐í ▒Γ╝·╡╚ │╗┐δ╟∙╗≤(content
  29.     negotiation)└╗ ┴÷┐°╟╤┤┘. │╗┐δ╟∙╗≤└║ media type, ╛≡╛ε, ╣«└┌┴²╟╒,
  30.     └╬─┌╡∙ ╡ε┐í ┤δ╟╪ ║Ω╢≤┐∞└·░í ┴ª░°╟╤ ╝▒╚ú╡╡┐í ╡√╢≤ └┌┐°└╟
  31.     ░í└σ └√╟╒╟╤ ╟Ñ╟÷└╗ ╝▒┼├╟╤┤┘. ╢╟ ║╥┐╧└ⁿ╟╤ ╟∙╗≤ ┴ñ║╕╕ª ║╕│╗┤┬
  32.     ║Ω╢≤┐∞└·└╟ ┐Σ├╗└╗ ┴÷┤╔└√└╕╖╬ ├│╕«╟╧┤┬ ▒Γ┤╔╡╡ └╓┤┘.</p>
  33.  
  34.     <p>▒Γ║╗└√└╕╖╬ ──╞─└╧╡╟┤┬ <module>mod_negotiation</module>
  35.     ╕≡╡Γ└╠ │╗┐δ╟∙╗≤ ▒Γ┤╔└╗ ┴ª░°╟╤┤┘.</p>
  36. </summary>
  37.  
  38. <section id="about"><title>│╗┐δ╟∙╗≤┐í ┤δ╟╪</title>
  39.  
  40.     <p>└┌┐°└║ ┐⌐╖» ┤┘╕Ñ ╟Ñ╟÷└╗ ░í┴· ╝÷ └╓┤┘. ┐╣╕ª ╡Θ╛ε, ┤┘╕Ñ
  41.     ╛≡╛ε│¬ ┤┘╕Ñ media type ╚ñ└║ ╡╤ ╕≡╡╬░í ┤┘╕Ñ ╟Ñ╟÷╡Θ└╠ └╓└╗
  42.     ╝÷ └╓┤┘. ░í└σ └√┤τ╟╤ ╟Ñ╟÷└╗ ╝▒┼├╟╧┤┬ ╟╤░í┴÷ ╣µ╣²└║ ╗τ┐δ└┌┐í░╘
  43.     ╕±╖╧ ╞Σ└╠┴÷╕ª ║╕┐⌐┴╓░φ ╝▒┼├╟╧░╘ ╟╧┤┬ ░═└╠┤┘. ▒╫╖»│¬ ╝¡╣÷░í
  44.     └┌╡┐└╕╖╬ ╝▒┼├╟╧┤┬ ░═╡╡ ░í┤╔╟╧┤┘. └╠┤┬ ║Ω╢≤┐∞└·░í ┐Σ├╗└╟
  45.     └╧║╬╖╬ ▒╫╡Θ└╠ ╝▒╚ú╟╧┤┬ ╟Ñ╟÷┐í ┤δ╟╤ ┴ñ║╕╕ª ║╕│╗▒Γ╢º╣«┐í
  46.     ░í┤╔╟╧┤┘. ┐╣╕ª ╡Θ╛ε, ║Ω╢≤┐∞└·┤┬ ░í┤╔╟╤╟╤ ║╥╛ε╖╬, ▒╫╖»│¬
  47.     ╛°┤┘╕Θ ┐╡╛ε╖╬ ┴ñ║╕╕ª ║╕░φ╜═┤┘░φ ╛╦╖┴┴┘ ╝÷ └╓┤┘. ║Ω╢≤┐∞└·┤┬
  48.     ┐Σ├╗└╟ ╟∞┤⌡╖╬ ▒╫╡Θ└╟ ▒Γ╚ú╕ª │¬┼╕│╜┤┘. ┐└┴≈ ║╥╛ε╖╬╡╚ ╟Ñ╟÷╕╕└╗
  49.     ┐Σ├╗╟╤┤┘╕Θ ║Ω╢≤┐∞└·┤┬ ┤┘└╜░· ░░└╠ ║╕│╜┤┘.</p>
  50.  
  51. <example>Accept-Language: fr</example>
  52.  
  53.     <p>└╠╖▒ ▒Γ╚ú┤┬ ╟Ñ╟÷└╠ ╛≡╛ε║░╖╬ ┤┘╕ª ░µ┐∞┐í╕╕ ░φ╖┴╡╚┤┘.</p>
  54.  
  55.     <p>┤┘└╜└║ ┤⌡ ║╣└Γ╟╤ ┐Σ├╗└╟ ┐╣╖╬ ║Ω╢≤┐∞└·░í ║╥╛ε┐═ ┐╡╛ε╕ª
  56.     ╣▐└╗ ╝÷ └╓┴÷╕╕, ║╥╛ε╕ª ┤⌡ ╝▒╚ú╟╧░φ, ┐⌐╖» media type└╗ ╣▐└╗
  57.     ╝÷ └╓┴÷╕╕, └╧╣▌ ┼╪╜║╞« ║╕┤┘┤┬ HTML, ┤┘╕Ñ media type ║╕┤┘┤┬
  58.     GIF┐═ JPEG└╗ ╝▒╚ú╟╤┤┘░φ ╛╦╖┴┴╪┤┘.</p>
  59.  
  60. <example>
  61.   Accept-Language: fr; q=1.0, en; q=0.5<br />
  62.   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
  63. </example>
  64.  
  65.     <p>╛╞╞──í┤┬ HTTP/1.1 ▒╘╛α┐í ┴ñ└╟╡╚ '╝¡╣÷ ┴╓╡╡(server driven)'
  66.     │╗┐δ╟∙╗≤└╗ ┴÷┐°╟╤┤┘. ╛╞╞──í┤┬ <code>Accept</code>,
  67.     <code>Accept-Language</code>, <code>Accept-Charset</code>,
  68.     <code>Accept-Encoding</code> ┐Σ├╗ ╟∞┤⌡╕ª ╕≡╡╬ ┴÷┐°╟╤┤┘.
  69.     ╢╟, ╛╞╞──í┤┬ RFC 2295┐═ RFC 2296┐í ┴ñ└╟╡╚ ╜╟╟Φ└√└╬ │╗┐δ╟∙╗≤└╬
  70.     '└┌┐¼╜║╖»┐ε(transparent)' ┐Σ├╗ ╟∞┤⌡╡╡ ┴÷┐°╟╤┤┘. ▒╫╖»│¬ └╠
  71.     RFC┐í ┴ñ└╟╡╚ '▒Γ┤╔ ╟∙╗≤(feature negotiation)'└║ ┴÷┐°╟╧┴÷
  72.     ╛╩┤┬┤┘.</p>
  73.  
  74.     <p><strong>└┌┐°(resource)</strong>└║ (RFC 2396) URI╖╬ ▒╕║░╟╧┤┬
  75.     ░││Σ└√└╬ ┴╕└τ┤┘. ╛╞╞──í┐═ ░░└║ └Ñ╝¡╣÷┤┬ └┌┐°└╟
  76.     <strong>╟Ñ╟÷(representations)</strong>└╗ ┴ª░°╟╤┤┘. ╟Ñ╟÷└║
  77.     ┴÷┴ñ╡╚ media type, ╣«└┌┴²╟╒, └╬─┌╡∙ ╡ε└╗ ░í┴° ╣┘└╠╞«╡Θ╖╬
  78.     ╡╟└╓┤┘. └┌┐°└║ ┐⌐╖» ╟Ñ╟÷░· (╢º╖╬┤┬ ╛°└╗ ╝÷╡╡ └╓┤┘) ┐¼░ⁿ╡╚┤┘.
  79.     └┌┐°┐í ┐⌐╖» ╟Ñ╟÷└╠ └╓┤┘╕Θ └┌┐°└╗
  80.     <strong>╟∙╗≤░í┤╔╟╧┤┘░φ(negotiable)</strong> ║╬╕ú╕τ, └╠╢º
  81.     ░ó ╟Ñ╟÷└╗ <strong>║»╟ⁿ(variant)</strong>└╠╢≤░φ ╟╤┤┘.
  82.     ╟∙╗≤░í┤╔╟╤ └┌┐°└╟ ║»╟ⁿ ┴╛╖∙╕ª ╟∙╗≤└╟
  83.     <strong>╣ⁿ└º(dimension)</strong>╢≤░φ ╟╤┤┘.</p>
  84. </section>
  85.  
  86. <section id="negotiation"><title>╛╞╞──í└╟ ╟∙╗≤</title>
  87.  
  88.     <p>└┌┐°└╗ ╟∙╗≤╟╧▒Γ└º╟╪ ╝¡╣÷┤┬ ░ó ║»╟ⁿ┐í ┤δ╟╤ ┴ñ║╕░í ╟╩┐Σ╟╧┤┘.
  89.     ┤┘└╜ ╡╬░í┴÷ ╣µ╣²┴▀ ╟╧│¬╖╬ ┴ñ║╕╕ª ╛≥┤┬┤┘:</p>
  90.  
  91.     <ul>
  92.       <li>║»╟ⁿ└╗ ┤π└║ ╞─└╧╡Θ└╗ ┴≈┴ó ┐¡░┼╟╤ type map└╗ (<em>┐╣╕ª
  93.       ╡Θ╛ε</em>, <code>*.var</code> ╞─└╧) ╗τ┐δ╟╧░┼│¬,</li>
  94.  
  95.       <li>┴≈┴ó ┴÷┴ñ╟╧┴÷╛╩╛╞╡╡ ╝¡╣÷░í ╞─└╧╕φ┐í╝¡ ▒╘─ó└╗ ├ú╛╞╝¡
  96.       ░ß░·╕ª ╝▒┼├╟╧┤┬ 'MultiViews'╕ª ╗τ┐δ╟╤┤┘.</li>
  97.     </ul>
  98.  
  99.    <section id="type-map"><title>type-map ╞─└╧ ╗τ┐δ╟╧▒Γ</title>
  100.  
  101.     <p>type map└║ <code>type-map</code>└╠╢⌡ ╟┌╡Θ╖»┐═ ┐¼░ß╡╚
  102.     (╚ñ└║ └╠└ⁿ ╛╞╞──í ╝│┴ñ░· ╚ú╚»└╗ └º╟╪ MIME type└╠
  103.     <code>application/x-type-map</code>└╬) ╣«╝¡┤┘. └╠ ▒Γ┤╔└╗
  104.     ╗τ┐δ╟╧╖┴╕Θ ╝│┴ñ┐í╝¡ <code>type-map</code> ╟┌╡Θ╖»┐í ┤δ╟╤
  105.     ╞─└╧ ╚«└σ└┌╕ª ┴÷┴ñ╟╪╛▀ ╟╤┤┘. ╝¡╣÷ ╝│┴ñ╞─└╧┐í ┤┘└╜░· ░░└╠
  106.     ╝│┴ñ╟╧┤┬ ░═└╠ ┴┴┤┘.</p>
  107.  
  108. <example>AddHandler type-map .var</example>
  109.  
  110.     <p>Type map ╞─└╧└║ ╟╪┤τ╟╧┤┬ └┌┐°░· └╠╕º└╠ ░░╛╞╛▀ ╟╧░φ,
  111.     ░ó ║»╟ⁿ┐í ┤δ╟╤ ╟╫╕±└╠ └╓╛ε╛▀ ╟╤┤┘. ╟╫╕±└║ ┐⌐╖» HTTP╟ⁿ╜─
  112.     ╟∞┤⌡ ┴┘╖╬ ▒╕╝║╡╚┤┘. ║»╟ⁿ┐í ┤δ╟╤ ░ó░ó└╟ ╟╫╕±╡Θ└║ ║≤┴┘╖╬
  113.     ▒╕║╨╟╤┤┘. ╟╫╕±╛╚┐í╝¡ ║≤┴┘└╗ ╗τ┐δ╟╥ ╝÷ ╛°┤┘. (└╠╖╕░╘ ╟╥
  114.     ╟╩┐Σ░í ╛°░φ, └╓╛ε╡╡ ╣½╜├╟╧┴÷╕╕) ┐⌐╖» ╟╫╕±└╠ ░°┼δ└╕╖╬ ░í┴÷░φ
  115.     └╓┤┬ │╗┐δ└╕╖╬ map ╞─└╧└╗ ╜├└█╟╧┤┬ ░═└╠ ║╕┼δ└╠┤┘. ┤┘└╜└║
  116.     map ╞─└╧ ┐╣┤┘. └╠ ╞─└╧└╟ └╠╕º└║ <code>foo.var</code>╖╬,
  117.     <code>foo</code>╢≤┤┬ └┌┐°└╗ ╝│╕φ╟╤┤┘.</p>
  118.  
  119. <example>
  120.   URI: foo<br />
  121. <br />
  122.   URI: foo.en.html<br />
  123.   Content-type: text/html<br />
  124.   Content-language: en<br />
  125. <br />
  126.   URI: foo.fr.de.html<br />
  127.   Content-type: text/html;charset=iso-8859-2<br />
  128.   Content-language: fr, de<br />
  129. </example>
  130.     <p>typemap ╞─└╧└╠ ╞─└╧╕φ ╚«└σ└┌ ║╕┤┘, ╜╔┴÷╛ε Multiviews╕ª
  131.     ╗τ┐δ╟╧┐⌐╡╡, ┐∞╝▒▒╟└╗ ░í┴ⁿ└╗ ┴╓└╟╟╧╢≤. ║»╟ⁿ└╠ ╝¡╖╬ ┤┘╕Ñ ╟░┴·└╗
  132.     ░í┴°┤┘╕Θ, ┤┘└╜░· ░░└╠ (JPEG, GIF, ASCII-art┐í ╟╪┤τ╟╧┤┬)
  133.     media type┐í "qs" ╞─╢≤╣╠┼═╖╬ ╟░┴·(source quality)└╗ ╟Ñ╜├╟╥
  134.     ╝÷ └╓┤┘:</p>
  135.  
  136. <example>
  137.   URI: foo<br />
  138. <br />
  139.   URI: foo.jpeg<br />
  140.   Content-type: image/jpeg; qs=0.8<br />
  141. <br />
  142.   URI: foo.gif<br />
  143.   Content-type: image/gif; qs=0.5<br />
  144. <br />
  145.   URI: foo.txt<br />
  146.   Content-type: text/plain; qs=0.01<br />
  147. </example>
  148.  
  149.     <p>qs ░¬└║ 0.000┐í╝¡ 1.000 ╗τ└╠┤┘. qs ░¬└╠ 0.000└╬ ║»╟ⁿ└║
  150.     └²┤δ ╝▒┼├╡╟┴÷ ╛╩└╜└╗ ┴╓└╟╟╧╢≤. 'qs' ░¬└╠ ╛°┤┬ ║»╟ⁿ└║ 1.0└╕╖╬
  151.     ├δ▒▐╡╚┤┘. qs ░¬└║ ┼¼╢≤└╠╛≡╞«└╟ ┤╔╖┬░·┤┬ ░ⁿ░Φ╛°└╠ ┤┘╕Ñ ║»╟ⁿ╡Θ░·
  152.     ║±▒│╟╧┐⌐ ▒╫ ║»╟ⁿ└╟ ╗≤┤δ└√└╬ '╟░┴·'└╗ │¬┼╕│╜┤┘. ┐╣╕ª ╡Θ╛ε,
  153.     ╗τ┴°└╗ │¬┼╕│╗╖┴┤┬ ░µ┐∞ JPEG ╞─└╧└╠ ASCII ╞─└╧║╕┤┘┤┬ ╟╫╗≤
  154.     │⌠└║ ╟░┴·└╗ ░í┴°┤┘. ▒╫╖»│¬ └┌┐°└╠ ┐°╖í ASCII art┐┤┤┘╕Θ
  155.     ASCII ╟Ñ╟÷└╠ JPEG ╟Ñ╟÷║╕┤┘ ┤⌡ │⌠└║ ╟░┴·└╗ ░í┴· ╝÷ └╓┤┘.
  156.     ▒╫╖»╣╟╖╬ ╛ε╢▓ ║»╟ⁿ└╟ qs ░¬└║ ╟Ñ╟÷╟╧╖┴┤┬ └┌┐°└╟ ╝║┴·┐í
  157.     ╡√╢≤ ┤┘╕ú┤┘.</p>
  158.  
  159.     <p>┴÷┐°╟╧┤┬ ╕≡╡τ ╟∞┤⌡ ╕±╖╧└║ <a
  160.     href="mod/mod_negotiation.html#typemaps">mod_negotation
  161.     typemap</a> ╣«╝¡╕ª ┬ⁿ░φ╟╧╢≤.</p>
  162. </section>
  163.  
  164. <section id="multiviews"><title>Multiviews</title>
  165.  
  166.     <p><code>MultiViews</code>┤┬ ╡≡╖║┼Σ╕«║░ ┐╔╝╟└╠╣╟╖╬,
  167.     <code>httpd.conf</code>└╟
  168.     <directive module="core" type="section">Directory</directive>,
  169.     <directive module="core" type="section">Location</directive>,
  170.     <directive module="core" type="section">Files</directive>
  171.     ╝╜╝╟ ╚ñ└║ (<directive module="core">AllowOverride</directive>░í
  172.     └√└²╚≈ ╝│┴ñ╡╟╛·┤┘╕Θ) <code>.htaccess</code> ╞─└╧└╟
  173.     <directive module="core">Options</directive> ┴÷╜├╛ε┐í ╝│┴ñ╟╥
  174.     ╝÷ └╓┤┘. <code>Options All</code>└║ <code>MultiViews</code>╕ª
  175.     ╞≈╟╘╟╧┴÷╛╩└╜└╗ ┴╓└╟╟╧╢≤. ╡√╖╬ ┴≈┴ó ╜ß┴α╛▀ ╟╤┤┘.</p>
  176.  
  177.     <p><code>MultiViews</code>╕ª ╗τ┐δ╟╧╕Θ ┤┘└╜░· ░░└║ └╧└╠ └╧╛ε│¡┤┘:
  178.     ╝¡╣÷░í <code>/some/dir/foo</code>┐í ┤δ╟╤ ┐Σ├╗└╗ ╣▐░φ
  179.     <code>/some/dir/foo</code>┐í <code>MultiViews</code>░í ╡┐└█╟╧╕τ
  180.     <code>/some/dir/foo</code>░í ┴╕└τ╟╧┴÷ <em>╛╩└╗</em> ░µ┐∞,
  181.     ╝¡╣÷┤┬ ╡≡╖║┼Σ╕«┐í╝¡ └╠╕º└╠ foo.*└╬ ╞─└╧╡Θ└╗ ╕≡╡τ ╞≈╟╘╟╧┤┬
  182.     ░í╗≤└╟ type map└╗ ╕╕╡τ┤┘. ┼¼╢≤└╠╛≡╞«░í ┐Σ├╗╟╤ media type░·
  183.     content-encoding└╗ ░í┴÷░φ └╠┴▀┐í ░í└σ └√╟╒╟╤ ░═└╗ ╝▒┼├╟╤┤┘.</p>
  184.  
  185.     <p><code>MultiViews</code>┤┬ ╝¡╣÷░í ╡≡╖║┼Σ╕«╕ª ┬ⁿ┴╢╟╥╢º
  186.     ╞─└╧└╗ ├ú┤┬ <directive
  187.     module="mod_dir">DirectoryIndex</directive> ┴÷╜├╛ε┐í╡╡
  188.     └√┐δ╡╚┤┘. ╝│┴ñ╞─└╧└╠ ┤┘└╜░· ░░┤┘╕Θ,</p>
  189. <example>DirectoryIndex index</example>
  190.     <p><code>index.html</code>░· <code>index.html3</code>└╠
  191.     ╕≡╡╬ └╓┤┘╕Θ ╝¡╣÷┤┬ └╠╡╤ ┴▀┐í ╟╧│¬╕ª ░ß┴ñ╟╤┤┘. ╡╤ ╕≡╡╬ ╛°░φ
  192.     <code>index.cgi</code>░í └╓┤┘╕Θ, ╝¡╣÷┤┬ ▒╫░═└╗ ╜╟╟α╟╤┤┘.</p>
  193.  
  194.     <p>╡≡╖║┼Σ╕«╕ª └╨└╗╢º ╞─└╧┴▀ ╟╧│¬░í Charset, Content-Type,
  195.     Language, Encoding╕ª ╞╟┤▄╟╧┤┬ <code>mod_mime</code>└╠ ╕≡╕ú┤┬
  196.     ╚«└σ└┌╕ª ░í┴°┤┘╕Θ, ░ß░·┤┬ <directive
  197.     module="mod_mime">MultiViewsMatch</directive> ┴÷╜├╛ε ╝│┴ñ┐í
  198.     ┤▐╖╟┤┘. └╠ ┴÷╜├╛ε┤┬ ╟┌╡Θ╖», ╟╩┼═, ┤┘╕Ñ ╚«└σ╟ⁿ╡Θ└╠ MultiViews
  199.     ╟∙╗≤┐í ┬ⁿ┐⌐╟╥┴÷ ┐⌐║╬╕ª ░ß┴ñ╟╤┤┘.</p>
  200. </section>
  201. </section>
  202.  
  203. <section id="methods"><title>╟∙╗≤╣µ╣²</title>
  204.  
  205.     <p>╛╞╞──í░í type-map ╞─└╧└╠│¬ ╡≡╖║┼Σ╕«┐í └╓┤┬ ╞─└╧╕φ╡Θ╖╬
  206.     ┴╓╛ε┴° └┌┐°┐í ┤δ╟╤ ║»╟ⁿ ╕±╖╧└╗ ╛≥░╘╡╟╕Θ '├╓└√└╟' ║»╟ⁿ└╗
  207.     ░ß┴ñ╟╧▒Γ└º╟╪ ╡╬ ╣µ╣²┴▀ ╟╧│¬╕ª ╗τ┐δ╟╤┤┘. ╛╞╞──í │╗┐δ╟∙╗≤
  208.     ▒Γ┤╔└╗ ╗τ┐δ╟╧▒Γ└º╟╪ ┴ñ╚«╚≈ ╟∙╗≤└╠ ╛ε╢╗░╘ └╧╛ε│¬┤┬┴÷ └┌╝╝╚≈
  209.     ╛╦ ╟╩┐Σ┤┬ ╛°┤┘. ▒╫╖»│¬ ▒├▒▌╟╤ ╗τ╢≈└╗ └º╟╪ └╠ ╣µ╣²└╗ ╝│╕φ╟╤┤┘.</p>
  210.  
  211.     <p>╡╬░í┴÷ ╟∙╗≤╣µ╣²└╠ └╓┤┘:</p>
  212.  
  213.     <ol>
  214.       <li><strong>╛╞╞──í ╛╦░φ╕«┴≥└╗ ╗τ┐δ╟╧┐⌐ ╝¡╣÷░í ┴╓╡╡╟╧┤┬
  215.       ╟∙╗≤</strong>└║ └╧╣▌└√└╬ ░µ┐∞┐í ╗τ┐δ╟╤┤┘. ╛╞╞──í ╛╦░φ╕«┴≥└║
  216.       ╛╞╖í╝¡ └┌╝╝╚≈ ╝│╕φ╟╤┤┘. └╠ ╛╦░φ╕«┴≥└╗ ╗τ┐δ╟╧╕Θ ╛╞╞──í┤┬
  217.       ┤⌡ │¬└║ ░ß░·╕ª ╛≥▒Γ└º╟╪ ┴╛┴╛ ╞»┴ñ ╣ⁿ└º└╟
  218.       ╟░┴·░Φ╝÷(quality factor)╕ª '┴╢└█╟╤┤┘'. ╛╞╞──í░í ╟░┴·░Φ╝÷╕ª
  219.       ┴╢└█╟╧┤┬ ╣µ╣²└║ ╛╞╖í╝¡ └┌╝╝╚≈ ╝│╕φ╟╤┤┘.</li>
  220.  
  221.       <li><strong>└┌┐¼╜║╖»┐ε(Transparent) │╗┐δ╟∙╗≤</strong>└║
  222.       ║Ω╢≤┐∞└·░í RFC 2295┐í ┴ñ└╟╡╚ ╣µ╣²└╕╖╬ ┐Σ├╗╟╥ ░µ┐∞┐í╕╕
  223.       ╗τ┐δ╟╤┤┘. └╠ ╟∙╗≤╣µ╣²└║ '├╓└√└╟' ║»╟ⁿ└╗ ░ß┴ñ╟╥ ▒╟╟╤└╗
  224.       ║Ω╢≤┐∞└·┐í░╘ ║╬┐⌐╟╤┤┘. ▒╫╖í╝¡ ░ß░·┤┬ ║Ω╢≤┐∞└·└╟ ╛╦░φ╕«┴≥┐í
  225.       ┤▐╖╚┤┘. └┌┐¼╜║╖»┐ε ╟∙╗≤░·┴ñ┴▀┐í ║Ω╢≤┐∞└·┤┬ ╛╞╞──í┐í░╘
  226.       RFC 2296┐í ┴ñ└╟╡╚ '┐°░▌ ║»╟ⁿ╝▒┼├ ╛╦░φ╕«┴≥(remote variant
  227.       selection algorithm)'└╗ ┐Σ├╗╟╥ ╝÷ └╓┤┘.</li>
  228.     </ol>
  229.  
  230. <section id="dimensions"><title>╟∙╗≤└╟ ╣ⁿ└º</title>
  231.  
  232.     <table>
  233.       <columnspec><column width=".15"/><column width=".85"/></columnspec>
  234.       <tr valign="top">
  235.         <th>╣ⁿ└º</th>
  236.  
  237.         <th>╝│╕φ</th>
  238.       </tr>
  239.  
  240.       <tr valign="top">
  241.         <td>Media Type</td>
  242.  
  243.         <td>║Ω╢≤┐∞└·┤┬ <code>Accept</code> ╟∞┤⌡╖╬ ╝▒╚ú╕ª │¬┼╕│╜┤┘.
  244.         ░ó ╟╫╕±└║ ╟░┴·░Φ╝÷╕ª ░í┴· ╝÷ └╓┤┘. ║»╟ⁿ└╟ ╝│╕φ╡╡ ╟░┴·░Φ╝÷╕ª
  245.         ("qs" ╞─╢≤╣╠┼═) ░í┴· ╝÷ └╓┤┘.</td>
  246.       </tr>
  247.  
  248.       <tr valign="top">
  249.         <td>Language</td>
  250.  
  251.         <td>║Ω╢≤┐∞└·┤┬ <code>Accept-Language</code> ╟∞┤⌡╖╬ ╝▒╚ú╕ª
  252.         │¬┼╕│╜┤┘. ░ó ╟╫╕±└║ ╟░┴·░Φ╝÷╕ª ░í┴· ╝÷ └╓┤┘. ║»╟ⁿ└║
  253.         ┐⌐╖» ╛≡╛ε╕ª ░í┴· (╚ñ└║ ╛╞╣½ ╛≡╛ε╡╡ ╛°└╗) ╝÷ └╓┤┘.</td>
  254.       </tr>
  255.  
  256.       <tr valign="top">
  257.         <td>Encoding</td>
  258.  
  259.         <td>║Ω╢≤┐∞└·┤┬ <code>Accept-Encoding</code> ╟∞┤⌡╖╬ ╝▒╚ú╕ª
  260.         │¬┼╕│╜┤┘. ░ó ╟╫╕±└║ ╟░┴·░Φ╝÷╕ª ░í┴· ╝÷ └╓┤┘.</td>
  261.       </tr>
  262.  
  263.       <tr valign="top">
  264.         <td>Charset</td>
  265.  
  266.         <td>║Ω╢≤┐∞└·┤┬ <code>Accept-Charset</code> ╟∞┤⌡╖╬ ╝▒╚ú╕ª
  267.         │¬┼╕│╜┤┘. ░ó ╟╫╕±└║ ╟░┴·░Φ╝÷╕ª ░í┴· ╝÷ └╓┤┘. ║»╟ⁿ└║
  268.         media type└╟ ╞─╢≤╣╠┼═╖╬ ╣«└┌┴²╟╒└╗ │¬┼╕│╛ ╝÷ └╓┤┘.</td>
  269.       </tr>
  270.     </table>
  271. </section>
  272.  
  273. <section id="algorithm"><title>╛╞╞──í ╟∙╗≤ ╛╦░φ╕«┴≥</title>
  274.  
  275.     <p>╛╞╞──í┤┬ ║Ω╢≤┐∞└·┐í░╘ ║╕│╛ '├╓└√└╟' ║»╟ⁿ└╗ (└╓┤┘╕Θ)
  276.     ╝▒┼├╟╧▒Γ└º╟╪ ╛╞╖í ╛╦░φ╕«┴≥└╗ ╗τ┐δ╟╤┤┘. └╠ ╛╦░φ╕«┴≥└║ ║»░µ╟╥
  277.     ╝÷ ╛°┤┘. ┤┘└╜┐═ ░░└╠ ╡┐└█╟╤┤┘:</p>
  278.  
  279.     <ol>
  280.       <li>╕╒└·, ╟∙╗≤└╟ ░ó ╣ⁿ└º┐í ┤δ╟╪ ╟╪┤τ╟╧┤┬ <em>Accept*</em>
  281.       ╟∞┤⌡╕ª ░╦╗τ╟╧░φ, ░ó ║»╟ⁿ┐í ╟░┴·░¬└╗ ╕┼▒Σ┤┘. ╛ε╢▓ ╣ⁿ└º└╟
  282.       <em>Accept*</em> ╟∞┤⌡░í ╣▐╛╞╡Θ└╠┴÷ ╛╩┤┬ ║»╟ⁿ└║ ╚─║╕┐í╝¡
  283.       ┴ª┐▄╟╤┤┘. ╛ε╢▓ ║»╟ⁿ╡╡ │▓┴÷╛╩└╕╕Θ 4 ┤▄░Φ╖╬ ░ú┤┘.</li>
  284.  
  285.       <li>
  286.         ╚─║╕┐í╝¡ ╟╧│¬╛┐ ┴ª┐▄╟╧┐⌐ '├╓└√└╟' ║»╟ⁿ└╗ ├ú┤┬┤┘. ┤┘└╜
  287.         ░ó ░╦╗τ┤┬ ╝°╝¡┤δ╖╬ └╧╛ε│¡┤┘. ░ó ░╦╗τ┐í╝¡ ╝▒┼├╡╟┴÷╛╩└║
  288.         ║»╟ⁿ└║ ┴ª┐▄╡╚┤┘. ░ó ░╦╗τ╚─ ╟╤ ║»╟ⁿ╕╕ │▓└╕╕Θ └╠╕ª ├╓└√└╟
  289.         ║»╟ⁿ└╕╖╬ ╝▒┼├╟╧░φ 3 ┤▄░Φ╖╬ ░ú┤┘. ┐⌐╖» ║»╟ⁿ└╠ │▓└╕╕Θ
  290.         ┤┘└╜ ░╦╗τ╕ª ┴°╟α╟╤┤┘.
  291.  
  292.         <ol>
  293.           <li><code>Accept</code> ╟∞┤⌡└╟ ╟░┴·░Φ╝÷┐═ ║»╟ⁿ└╟
  294.           media type┐í ┤δ╟╤ ╟░┴·░¬└╗ ░÷╟╧┐⌐ ░í└σ │⌠└║ ░¬└╗
  295.           ░í┴° ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.</li>
  296.  
  297.           <li>░í└σ │⌠└║ ╛≡╛ε(language) ╟░┴·░Φ╝÷╕ª ░í┴° ║»╟ⁿ└╗
  298.           ╝▒┼├╟╤┤┘.</li>
  299.  
  300.           <li><code>Accept-Language</code> ╟∞┤⌡┐í (└╓┤┘╕Θ)
  301.           │¬┐┬ ╛≡╛ε└╟ ╝°╝¡ ╚ñ└║ <code>LanguagePriority</code>
  302.           ┴÷╜├╛ε┐í (└╓┤┘╕Θ) │¬┐┬ ╛≡╛ε└╟ ╝°╝¡╕ª ░í┴÷░φ ░í└σ
  303.           └√╟╒╟╤ ╛≡╛ε╕ª ░í┴° ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.</li>
  304.  
  305.           <li>░í└σ │⌠└║ (text/html media type└╟ ╣÷└ⁿ└╗ │¬┼╕│╗┤┬)
  306.           'level' media ╞─╢≤╣╠┼═╕ª ░í┴° ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.</li>
  307.  
  308.           <li><code>Accept-Charset</code> ╟∞┤⌡╕ª ░í┴÷░φ ░í└σ
  309.           └√╟╒╟╤ charset media ╞─╢≤╣╠┼═╕ª ░í┴° ║»╟ⁿ└╗ ├ú┤┬┤┘.
  310.           ╟∞┤⌡░í ╛°┤┘╕Θ ISO-8859-1 ╣«└┌┴²╟╒└╗ ░í└σ ╝▒╚ú╟╤┤┘.
  311.           <code>text/*</code> media type└╗ ░í┴÷┴÷╕╕ ╕φ╜├└√└╕╖╬
  312.           ╞»┴ñ ╣«└┌┴²╟╒░· ┐¼░ß╡╟┴÷╛╩└║ ║»╟ⁿ└║ ISO-8859-1╖╬
  313.           ░í┴ñ╟╤┤┘.</li>
  314.  
  315.           <li>ISO-8859-1└╠ <em>╛╞┤╤</em> charset media ╞─╢≤╣╠┼═╕ª
  316.           ░í┴° ║»╟ⁿ╡Θ└╗ ╝▒┼├╟╤┤┘. ▒╫╖▒ ║»╟ⁿ└╠ ╛°┤┘╕Θ, ┤δ╜┼ ╕≡╡τ
  317.           ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.</li>
  318.  
  319.           <li>░í└σ └√╟╒╟╤ └╬─┌╡∙└╗ ░í┴° ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.
  320.           user-agent┐í └√╟╒╟╤ └╬─┌╡∙└╗ ░í┴° ║»╟ⁿ└╠ └╓┤┘╕Θ ▒╫
  321.           ║»╟ⁿ╕╕└╗ ╝▒┼├╟╤┤┘. ▒╫╖╕┴÷╛╩░φ └╬─┌╡∙╡╚ ║»╟ⁿ░· └╬─┌╡∙╛╚╡╚
  322.           ║»╟ⁿ└╠ ░░└╠ └╓┤┘╕Θ └╬─┌╡∙╛╚╡╩ ║»╟ⁿ╕╕└╗ ╝▒┼├╟╤┤┘. ║»╟ⁿ└╠
  323.           ╕≡╡╬ └╬─┌╡∙╡╟╛·░┼│¬ ╕≡╡╬ └╬─┌╡∙╛╚╡╚ ░µ┐∞ ╕≡╡τ ║»╟ⁿ└╗
  324.           ╝▒┼├╟╤┤┘.</li>
  325.  
  326.           <li>content length░í ░í└σ └√└║ ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘.</li>
  327.  
  328.           <li>│▓└║ ░═┴▀ ├╣╣°└τ ║»╟ⁿ└╗ ╝▒┼├╟╤┤┘. └╠┤┬ type-map
  329.           ╞─└╧└╟ ╛╒┐í │¬┐╘░┼│¬, ╡≡╖║┼Σ╕«┐í╝¡ ║»╟ⁿ└╗ └╨└║ ░µ┐∞
  330.           ╞─└╧╕φ└╗ ASCII ─┌╡σ ╝°╝¡╖╬ ╟╧┐⌐ ╛╒┐í │¬┐└┤┬ ░═└╠┤┘.</li>
  331.         </ol>
  332.       </li>
  333.  
  334.       <li>└╠┴ª ╛╦░φ╕«┴≥└╠ '├╓└√└╟' ║»╟ⁿ└╗ ╝▒┼├╟▀┤┘. └╠░═└╗ └└┤Σ└╕╖╬
  335.       ║╕│╜┤┘. HTTP └└┤Σ ╟∞┤⌡ <code>Vary</code>┤┬ ╟∙╗≤└╟ ╣ⁿ└º╕ª
  336.       │¬┼╕│╗░╘ ╡╚┤┘. (║Ω╢≤┐∞└·┐═ ─│╜¼┤┬ └┌┐°└╗ ─│╜¼╟╥╢º └╠ ┴ñ║╕╕ª
  337.       ╗τ┐δ╟╥ ╝÷ └╓┤┘.) │í.</li>
  338.  
  339.       <li>└╠ ┤▄░Φ┐í ╡╡┤▐╟▀┤┘╕Θ (╕≡╡╬ ║Ω╢≤┐∞└·░í ╣▐┴÷╕°╟╧▒Γ ╢º╣«┐í)
  340.       ╛ε╢▓ ║»╟ⁿ╡╡ ╝▒┼├└╠ ╛╚╡╚ ░µ┐∞┤┘. ("No acceptable
  341.       representation"╕ª ╢µ╟╧┤┬) ╗≤┼┬ 406░· │╗┐δ└╕╖╬ ╗τ┐δ░í┤╔╟╤
  342.       ║»╟ⁿ└╟ ╕±╖╧└╗ ┤π└║ HTML ╣«╝¡╕ª └└┤Σ└╗ ║╕│╜┤┘. ╢╟, HTML
  343.       <code>Vary</code> ╟∞┤⌡┤┬ ║»╟ⁿ└╟ ╣ⁿ└º╕ª │¬┼╕│╜┤┘.</li>
  344.     </ol>
  345. </section>
  346. </section>
  347.  
  348. <section id="better"><title>╟░┴·░Φ╝÷ ┴╢└█╟╧▒Γ</title>
  349.  
  350.     <p>╛╞╞──í┤┬ ┴╛┴╛ └º└╟ ╛╞╞──í ╟∙╗≤ ╛╦░φ╕«┴≥└╗ ╛÷░▌╚≈ ┴÷┼░┴÷╛╩░φ
  351.     ╟░┴·░Φ╝÷╕ª ║»░µ╟╤┤┘. └╠└»┤┬ ┐╧└ⁿ╟╧░φ ┴ñ╚«╟╤ ┴ñ║╕╕ª ║╕│╗┴÷╛╩┤┬
  352.     ║Ω╢≤┐∞└·┐í░╘ (╛╦░φ╕«┴≥└╟) ┤⌡ │¬└║ ░ß░·╕ª ║╕│╗▒Γ └º╟╪╝¡┤┘.
  353.     │╬╕« ╛▓└╠┤┬ ║Ω╢≤┐∞└·┴▀ └╧║╬┤┬ └┌┴╓ └▀╕°╡╚ ║»╟ⁿ└╗ ╝▒┼├╟╧╡╡╖╧
  354.     <code>Accept</code> ╟∞┤⌡╕ª ║╕│╜┤┘. ║Ω╢≤┐∞└·░í ┐╧└ⁿ╟╧░φ ┐├╣┘╕Ñ
  355.     ┴ñ║╕╕ª ║╕│╜┤┘╕Θ, ┴╢└█└╗ ╟╧┴÷╛╩┤┬┤┘.</p>
  356.  
  357. <section id="wildcards"><title>Media Type░· ┐═└╧╡σ─½╡σ</title>
  358.  
  359.     <p><code>Accept:</code> ┐Σ├╗ ╟∞┤⌡┤┬ media type┐í ┤δ╟╤ ╝▒╚ú╕ª
  360.     │¬┼╕│╜┤┘. ╢╟, *┤┬ ╛ε╢▓ ╣«└┌┐¡└╠╢≤╡╡ ░í┤╔╟╧▒Γ╢º╣«┐í "image/*"│¬
  361.     "*/*" ░░└╠ '┐═└╧╡σ─½╡σ' media type└╗ ╗τ┐δ╟╥ ╝÷╡╡ └╓┤┘. ▒╫╖í╝¡
  362.     ┤┘└╜░· ░░└║ ┐Σ├╗└║:</p>
  363.  
  364. <example>Accept: image/*, */*</example>
  365.  
  366.     <p>"image/"╖╬ ╜├└█╟╧┤┬ ╛ε╢▓ type░· ┤┘╕Ñ ╛ε╢▓ type╡╡ ░í┤╔╟╘└╗
  367.     └╟╣╠╟╤┤┘. ╛ε╢▓ ║Ω╢≤┐∞└·┤┬
  368.     └┌╜┼└╠ ╜╟┴ª╖╬ ┤┘╖Ω ╝÷ └╓┤┬ type┐í ├▀░í╖╬ ┐═└╧╡σ─½╡σ╕ª ║╕│╜┤┘.
  369.     ┐╣╕ª ╡Θ╕Θ:</p>
  370.  
  371. <example>
  372.   Accept: text/html, text/plain, image/gif, image/jpeg, */*
  373. </example>
  374.     <p>└╠└»┤┬ ┴≈┴ó ┐¡░┼╟╤ type└╗ ╝▒╚ú╟╧┴÷╕╕ ┤┘╕Ñ ╟Ñ╟÷└╠ └╓┤┘╕Θ
  375.     ▒╫░═╡╡ ▒ª┬·└╜└╗ │¬┼╕│╗▒Γ └º╟╪╝¡┤┘. ║Ω╢≤┐∞└·░í ╜╟┴ª╖╬ ┐°╟╤
  376.     ░═└║ ┤┘└╜░· ░░└╠ ╕φ╜├└√└╕╖╬ ╟░┴·░¬└╗ ╗τ┐δ╟╤ ░═└╠┤┘.</p>
  377. <example>
  378.   Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
  379. </example>
  380.     <p>┴≈┴ó ┐¡░┼╟╤ type└║ ╟░┴·░Φ╝÷░í ╛°╛ε╝¡ ▒Γ║╗░¬└╬ (░í└σ │⌠└║)
  381.     1.0└╗ ░í┴°┤┘. ┐═└╧╡σ─½╡σ */*┤┬ │╖└║ ╝▒╚ú╡╡ 0.01└╗ ░í┴÷╣╟╖╬
  382.     ┴≈┴ó ┐¡░┼╟╤ type┐í ╕┬┤┬ ║»╟ⁿ└╠ ╛°┤┬ ░µ┐∞┐í╕╕ ┤┘╕Ñ type╡Θ└╠
  383.     ╗τ┐δ╡╚┤┘.</p>
  384.  
  385.     <p><code>Accept:</code> ╟∞┤⌡┐í q ░Φ╝÷░í └ⁿ╟⌠ <em>╛°░φ</em>
  386.     "*/*"░í └╓┤┘╕Θ, ╛╞╞──í┤┬ ╣┘╢≈┴≈╟╤ ╟α╡┐└╗ └º╟╪ q ░¬└╕╖╬ 0.01└╗
  387.     ┴÷┴ñ╟╤┤┘. ╢╟, "type/*" ╟ⁿ┼┬└╟ ┐═└╧╡σ─½╡σ┐í┤┬ ("*/*"║╕┤┘┤┬
  388.     ┤⌡ ╝▒╚ú╟╧╡╡╖╧) 0.02╕ª ┴÷┴ñ╟╤┤┘. <code>Accept:</code> ╟∞┤⌡┐í╝¡
  389.     q ░Φ╝÷╕ª ░í┴÷┤┬ media type└╠ └╓┤┘╕Θ └╠╖▒ ╞»║░╟╤ ░¬└╗ ├▀░í╟╧┴÷
  390.     <em>╛╩┤┬┤┘</em>. ▒╫╖í╝¡ ╕φ╜├└√└╬ ┴ñ║╕╕ª ║╕│╗┤┬ ║Ω╢≤┐∞└·└╟
  391.     ┐Σ├╗└║ ┐Σ├╗╟╤╡Ñ╖╬ ├│╕«╟╤┤┘.</p>
  392. </section>
  393.  
  394. <section id="exceptions"><title>╛≡╛ε(language) ╟∙╗≤└╟ ┐╣┐▄</title>
  395.  
  396.     <p>╛╞╞──í 2.0└║ ╛≡╛ε ╟∙╗≤└╠ ╜╟╞╨╟╤ ░µ┐∞ ║╬╡σ╖┤░╘ ║╣▒╕╟╧▒Γ└º╟╪
  397.     ╟∙╗≤ ╛╦░φ╕«┴≥┐í ╗⌡╖╬ ┐╣┐▄╕ª ╕ε░│ ├▀░í╟▀┤┘.</p>
  398.  
  399.     <p>┼¼╢≤└╠╛≡╞«░í ╝¡╣÷┐í ╞Σ└╠┴÷╕ª ┐Σ├╗╟▀└╗╢º ╝¡╣÷░í ║Ω╢≤┐∞└·░í
  400.     ║╕│╜ <code>Accept-language</code>┐í ╕┬┤┬ ╞Σ└╠┴÷╕ª ┤▄ ╟╤░│╕╕
  401.     ├ú└╕╕Θ ╣«┴ª░í ╛°┴÷╕╕, ▒╫╖»┴÷ ╛╩└║ ░µ┐∞ ╝¡╣÷┤┬ ┼¼╢≤└╠╛≡╞«┐í░╘
  402.     "No Acceptable Variant"│¬ "Multiple Choices" └└┤Σ└╗ ║╕│╜┤┘.
  403.     └╠╖▒ ┐└╖∙╣«└╗ ╟╟╟╧▒Γ└º╟╪ └╠ ░µ┐∞ <code>Accept-language</code>╕ª
  404.     ╣½╜├╟╧░φ ┼¼╢≤└╠╛≡╞«└╟ ┐Σ├╗┐í ╕φ╚«╚≈ ╕┬┴÷┤┬ ╛╩┴÷╕╕ ╣«╝¡╕ª
  405.     ║╕│╗╡╡╖╧ ╛╞╞──í╕ª ╝│┴ñ╟╥ ╝÷ └╓┤┘. <directive
  406.     module="mod_negotiation">ForceLanguagePriority</directive>
  407.     ┴÷╜├╛ε┤┬ ╝¡╣÷░í └╠╖▒ ┐└╖∙╣«┴▀ ╟╧│¬ ╚ñ└║ ╡╤┤┘╕ª ╣½╜├╟╧░φ
  408.     <directive module="mod_negotiation">LanguagePriority</directive>
  409.     ┴÷╜├╛ε╖╬ ╞╟┤▄╟╧╡╡╖╧ ╟╤┤┘.</p>
  410.  
  411.     <p>╢╟, ╝¡╣÷┤┬ ╕┬┤┬ ╛≡╛ε╕ª ╕°├ú└║ ░µ┐∞ ║╬╕≡╛≡╛ε╕ª ├ú└╗ ╝÷╡╡
  412.     └╓┤┘. ┐╣╕ª ╡Θ╛ε ┼¼╢≤└╠╛≡╞«░í ┐╡▒╣┐╡╛ε╕ª ╢µ╟╧┤┬
  413.     <code>en-GB</code> ╛≡╛ε╖╬ ╣«╝¡╕ª ┐Σ├╗╟╤ ░µ┐∞, HTTP/1.1 ╟Ñ┴╪┐í
  414.     ╡√╕ú╕Θ ╝¡╣÷┤┬ <code>en</code>└╕╖╬╕╕ ╟Ñ╜├╡╚ ╣«╝¡╕ª └╧╣▌└√└╕╖╬
  415.     ╝▒┼├╟╧┴÷ ╕°╟╤┤┘. (▒╫╖í╝¡ ┐╡▒╣┐╡╛ε╕ª └╠╟╪╟╧┤┬ ╡╢└┌░í └╧╣▌└√└╬
  416.     ┐╡╛ε╡╡ └╠╟╪╟╥ ╝÷ └╓└╕╣╟╖╬ <code>Accept-Language</code> ╟∞┤⌡┐í
  417.     <code>en-GB</code>╕╕ ╞≈╟╘╟╧░φ <code>en</code>└╗ ╞≈╟╘╟╧┴÷╛╩└╕╕Θ
  418.     ░┼└╟ ╚«╜╟╚≈ └▀╕°╡╚ ╝│┴ñ└╙└╗ └»└╟╟╧╢≤. ║╥╟α╚≈╡╡ ╟÷└τ ╕╣└║
  419.     ┼¼╢≤└╠╛≡╞«╡Θ└║ └╠╖▒ ╜─└╕╖╬ ▒Γ║╗╝│┴ñ╡╟└╓┤┘.) ┤┘╕Ñ ╛≡╛ε╕ª
  420.     ├ú┴÷ ╕°╟╧┐⌐ ╝¡╣÷░í "No Acceptable Variants" ┐└╖∙╕ª ║╕│╗░┼│¬
  421.     <directive module="mod_negotiation">LanguagePriority</directive>╖╬
  422.     ╡╣╛╞░í╛▀ ╟╤┤┘╕Θ, ╝¡╣÷┤┬ ╟╧└º╛≡╛ε ▒╘╛α└╗ ╣½╜├╟╧░φ
  423.     <code>en-GB</code>╕ª <code>en</code> ╣«╝¡┐í ┤δ└└╟╤┤┘.
  424.     ╛╧╣¼└√└╕╖╬ ╛╞╞──í┤┬ ║╬╕≡╛≡╛ε╕ª ╕┼┐∞ │╖└║ ╟░┴·░¬└╕╖╬
  425.     ┼¼╢≤└╠╛≡╞«└╟ ╟π┐δ╛≡╛ε ╕±╖╧┐í ├▀░í╟╤┤┘. ▒╫╖»│¬ ┼¼╢≤└╠╛≡╞«░í
  426.     "en-GB; q=0.9, fr; q=0.8"└╗ ┐Σ├╗╟╧░φ ╝¡╣÷┐í "en"░· "fr"
  427.     ╣«╝¡░í └╓┤┘╕Θ, "fr" ╣«╝¡░í ╝▒┼├╡╩└╗ ┴╓└╟╟╧╢≤. └╠┤┬ HTTP/1.1
  428.     ╟Ñ┴╪└╗ ┴÷┼░░φ, ┐├╣┘╖╬ ╝│┴ñ╡╚ ┼¼╢≤└╠╛≡╞«┐═ ╚┐└▓└√└╕╖╬
  429.     ╡┐└█╟╧▒Γ└º╟╘└╠┤┘.</p>
  430.  
  431.     <p>╗τ┐δ└┌░í ╝▒╚ú╟╧┤┬ ╛≡╛ε╕ª ╛╦╛╞│╗▒Γ└º╟╤ (─φ┼░│¬ ╞»║░╟╤
  432.     URL-░µ╖╬ ░░└║) ░φ▒▐ ▒Γ╣²└╗ ┴÷┐°╟╧▒Γ└º╟╪ ╛╞╞──í 2.0.47║╬┼═
  433.     <module>mod_negotiation</module>└║ <code>prefer-language</code>╢≤┤┬
  434.     <a href="env.html">╚»░µ║»╝÷</a>╕ª └╬╜─╟╤┤┘. └╠ ╚»░µ║»╝÷░í
  435.     ┴╕└τ╟╧░φ └√└²╟╤ ╛≡╛ε┼┬▒╫╕ª ╞≈╟╘╟╤┤┘╕Θ,
  436.     <module>mod_negotiation</module>└║ ╟╪┤τ╟╧┤┬ ║»╟ⁿ└╗ ╝▒┼├╟╧╖┴░φ
  437.     ╜├╡╡╟╤┤┘. ▒╫╖▒ ║»╟ⁿ└╠ ╛°┤┘╕Θ └╧╣▌└√└╬ ╟∙╗≤░·┴ñ└╗ ╜├└█╟╤┤┘.</p>
  438.  
  439.     <example><title>┐╣┴ª</title>
  440.       SetEnvIf Cookie "language=en" prefer-language=en<br />
  441.       SetEnvIf Cookie "language=fr" prefer-language=fr
  442.    </example>
  443. </section>
  444. </section>
  445.  
  446. <section id="extensions"><title>└┌┐¼╜║╖»┐ε(transparent) │╗┐δ╟∙╗≤└╟ ╚«└σ</title> 
  447.  
  448. <p>╛╞╞──í┤┬ ┤┘└╜░· ░░└╠ └┌┐¼╜║╖»┐ε │╗┐δ╚«└σ ╟┴╖╬┼Σ─▌└╗ (RFC 2295)
  449. ╚«└σ╟╤┤┘. ║»╟ⁿ ╕±╖╧└╟ ╗⌡╖╬┐ε <code>{encoding ..}</code>┤┬ ╞»┴ñ
  450. content-encoding└╗ ░í┴° ║»╟ⁿ╕╕└╗ ┴÷─¬╟╤┤┘. RVSA/1.0 ╛╦░φ╕«┴≥└║
  451. (RFC 2296) ╕±╖╧┐í╝¡ └╬─┌╡∙╡╚ ║»╟ⁿ└╗ └╬╜─╟╥ ╝÷ └╓░φ, └╬─┌╡∙└╠
  452. <code>Accept-Encoding</code> ┐Σ├╗ ╟∞┤⌡┐í ╕┬┤┬ ░µ┐∞ └╬─┌╡∙╡╚
  453. ║»╟ⁿ╡Θ╡╡ ╚─║╕╖╬ ╗τ┐δ╟╧╡╡╖╧ ╚«└σ╡╟╛·┤┘. RVSA/1.0 ▒╕╟÷└║ ├╓└√└╟
  454. ║»╟ⁿ└╗ ├ú▒Γ └ⁿ┐í ░Φ╗Ω╡╚ ╟░┴·░Φ╝÷╕ª ╝╥╝÷┴í 5└┌╕«┐í╝¡ ╣▌┐├╕▓╟╧┴÷
  455. ╛╩┤┬┤┘.</p>
  456. </section>
  457.  
  458. <section id="naming"><title>╟╧└╠╞█╕╡┼⌐┐═ └╠╕º▒╘─ó┐í ┤δ╟╧┐⌐</title>
  459.  
  460.     <p>╛≡╛ε(language) ╟∙╗≤└╗ ╗τ┐δ╟╤┤┘╕Θ ╞─└╧└║ ┐⌐╖» ╚«└σ└┌╕ª
  461.     ░í┴÷░φ ╚«└σ└┌└╟ ╝°╝¡┤┬ ║╕┼δ ░ⁿ░Φ╛°└╕╣╟╖╬ ╞─└╧╕φ┐í ┐⌐╖» ┤┘╕Ñ
  462.     └╠╕º▒╘─ó└╗ ╗τ┐δ╟╥ ╝÷ └╓┤┘. (└┌╝╝╟╤ │╗┐δ└║ <a
  463.     href="mod/mod_mime.html#multipleext">mod_mime</a> ╣«╝¡╕ª
  464.     ┬ⁿ░φ╟╧╢≤.)</p>
  465.  
  466.     <p>└ⁿ╟ⁿ└√└╬ ╞─└╧└║ MIME-type ╚«└σ└┌ (<em>┐╣╕ª ╡Θ╛ε</em>,
  467.     <code>html</code>), ░µ┐∞┐í ╡√╢≤ encoding ╚«└σ└┌ (<em>┐╣╕ª
  468.     ╡Θ╛ε</em>, <code>gz</code>), ╞─└╧┐í ┐⌐╖» ╛≡╛ε ║»╟ⁿ└╠ └╓┤┬
  469.     ░µ┐∞ ╣░╖╨ ╛≡╛ε ╚«└σ└┌╕ª (<em>┐╣╕ª ╡Θ╛ε</em>, <code>en</code>)
  470.     ░í┴°┤┘.</p>
  471.  
  472.     <p>┐╣┴ª:</p>
  473.  
  474.     <ul>
  475.       <li>foo.en.html</li>
  476.  
  477.       <li>foo.html.en</li>
  478.  
  479.       <li>foo.en.html.gz</li>
  480.     </ul>
  481.  
  482.     <p>┤┘└╜└║ ╕ε╕ε ╞─└╧╕φ░· ▒╫ ╞─└╧┐í ┤δ╟╤ └»╚┐╟╧░φ └»╚┐╟╧┴÷╛╩└║
  483.     ╟╧└╠╞█╕╡┼⌐╕ª ║╕└╬┤┘:</p>
  484.  
  485.     <table border="1" cellpadding="8" cellspacing="0">
  486.       <columnspec><column width=".2"/><column width=".2"/>
  487.         <column width=".2"/></columnspec>
  488.       <tr>
  489.         <th>╞─└╧╕φ</th>
  490.  
  491.         <th>└»╚┐╟╤ ╟╧└╠╞█╕╡┼⌐</th>
  492.  
  493.         <th>└»╚┐╟╧┴÷╛╩└║ ╟╧└╠╞█╕╡┼⌐</th>
  494.       </tr>
  495.  
  496.       <tr>
  497.         <td><em>foo.html.en</em></td>
  498.  
  499.         <td>foo<br />
  500.          foo.html</td>
  501.  
  502.         <td>-</td>
  503.       </tr>
  504.  
  505.       <tr>
  506.         <td><em>foo.en.html</em></td>
  507.  
  508.         <td>foo</td>
  509.  
  510.         <td>foo.html</td>
  511.       </tr>
  512.  
  513.       <tr>
  514.         <td><em>foo.html.en.gz</em></td>
  515.  
  516.         <td>foo<br />
  517.          foo.html</td>
  518.  
  519.         <td>foo.gz<br />
  520.          foo.html.gz</td>
  521.       </tr>
  522.  
  523.       <tr>
  524.         <td><em>foo.en.html.gz</em></td>
  525.  
  526.         <td>foo</td>
  527.  
  528.         <td>foo.html<br />
  529.          foo.html.gz<br />
  530.          foo.gz</td>
  531.       </tr>
  532.  
  533.       <tr>
  534.         <td><em>foo.gz.html.en</em></td>
  535.  
  536.         <td>foo<br />
  537.          foo.gz<br />
  538.          foo.gz.html</td>
  539.  
  540.         <td>foo.html</td>
  541.       </tr>
  542.  
  543.       <tr>
  544.         <td><em>foo.html.gz.en</em></td>
  545.  
  546.         <td>foo<br />
  547.          foo.html<br />
  548.          foo.html.gz</td>
  549.  
  550.         <td>foo.gz</td>
  551.       </tr>
  552.     </table>
  553.  
  554.     <p>└º ╟Ñ╕ª ║╕╕Θ ╟╧└╠╞█╕╡┼⌐┐í ╛ε╢▓ ╚«└σ└┌╡╡ ╛°┤┬ └╠╕º└╗
  555.     (<em>┐╣╕ª ╡Θ╛ε</em>, <code>foo</code>) ╟╫╗≤ ╗τ┐δ╟╥ ╝÷ └╓└╜└╗
  556.     ╛╦ ╝÷ └╓┤┘. └╠ ░µ┐∞ └σ┴í└║ ╣«╝¡└╟ ╜╟┴ª ┴╛╖∙╕ª ╝√▒µ ╝÷ └╓╛ε╝¡,
  557.     <em>┐╣╕ª ╡Θ╛ε</em> ╟╧└╠╖»╕╡┼⌐ ┬ⁿ┴╢╕ª ╝÷┴ñ╟╧╛╩░φ
  558.     <code>html</code> ╞─└╧└╗ <code>shtml</code>└╠│¬
  559.     <code>cgi</code>╖╬ ║»░µ╟╥ ╝÷ └╓┤┘┤┬ ┴í└╠┤┘.</p>
  560.  
  561.     <p>░Φ╝╙ ╟╧└╠╞█╕╡┼⌐┐í MIME-type└╗ (<em>┐╣╕ª ╡Θ╛ε</em>,
  562.     <code>foo.html</code>) ╗τ┐δ╟╧░φ ╜═┤┘╕Θ (encoding ╚«└σ└┌░í
  563.     └╓┤┘╕Θ └╠░═╡╡ ╞≈╟╘╟╧┐⌐) ╛≡╛ε ╚«└σ└┌╕ª MIME-type ╚«└σ└┌║╕┤┘
  564.     ┐└╕Ñ┬╩┐í (<em>┐╣╕ª ╡Θ╛ε</em>, <code>foo.html.en</code>)
  565.     ╡╬╛ε╛▀╟╤┤┘.</p>
  566. </section>
  567.  
  568. <section id="caching"><title>─│╜¼┐í ┤δ╟╧┐⌐</title>
  569.  
  570.     <p>─│╜¼░í ╟Ñ╟÷└╗ └·└σ╟╧╕Θ ╟Ñ╟÷░· ┐Σ├╗ URL└╗ ┐¼░ⁿ╜├┼▓┤┘.
  571.     ┤┘└╜╣° ▒╫ URL└╗ ┐Σ├╗╟╧╕Θ ─│╜¼┤┬ └·└σ╡╚ ╟Ñ╟÷└╗ ╗τ┐δ╟╤┤┘.
  572.     ▒╫╖»│¬ ╝¡╣÷┐═ ╟∙╗≤└╠ ░í┤╔╟╤ └┌┐°└╬ ░µ┐∞ ├╣╣°┬░ ┐Σ├╗╟╤ ║»╟ⁿ╕╕
  573.     ─│╜¼╡╟╛ε └╠╚─ ┐Σ├╗└║ ─│╜¼╡╚ └▀╕°╡╚ └└┤Σ└╗ ╛≥└╗ ╝÷ └╓┤┘.
  574.     └╠╕ª ╕╖▒Γ└º╟╪ ╛╞╞──í┤┬ ║╕┼δ │╗┐δ╟∙╗≤╚─ ╣▌╚»╡╟┤┬ ╕≡╡τ ┐Σ├╗┐í
  575.     HTTP/1.0 ┼¼╢≤└╠╛≡╞«░í ─│╜¼╕ª ╕°╟╧╡╡╖╧ ╟Ñ╜├╕ª ╟╤┤┘. ╢╟, ╛╞╞──í┤┬
  576.     ╟∙╗≤╟╤ └└┤Σ└╟ ─│╜¼╕ª ╟π┐δ╟╧┤┬ HTTP/1.1 ╟┴╖╬┼Σ─▌└╟ ▒Γ┤╔└╗
  577.     ┴÷┐°╟╤┤┘.</p>
  578.  
  579.     <p><directive
  580.     module="mod_negotiation">CacheNegotiatedDocs</directive>
  581.     ┴÷╜├╛ε┤┬ HTTP/1.0 ╚ú╚» ┼¼╢≤└╠╛≡╞«(║Ω╢≤┐∞└· ╚ñ└║ ─│╜¼)░í
  582.     ║╕│╜ ┐Σ├╗┐í ┤δ╟╪ ╟∙╗≤╟╤ └└┤Σ└╗ ─│╜¼╟╥ ╝÷ └╓░╘ ╟╤┤┘. └╠ ┴÷╜├╛ε┤┬
  583.     ╝¡╣÷│¬ ░í╗≤╚ú╜║╞« ╝│┴ñ┐í ╗τ┐δ╟╧╕τ, ╛╞▒╘╕╒╞«╕ª ╣▐┴÷╛╩┤┬┤┘.
  584.     └╠ ┴÷╜├╛ε┤┬ HTTP/1.1 ┼¼╢≤└╠╛≡╞«└╟ ┐Σ├╗░·┤┬ ░ⁿ░Φ░í ╛°┤┘.</p>
  585. </section>
  586.  
  587. <section id="more"><title>┤┘╕Ñ ┴ñ║╕</title>
  588.  
  589.     <p>│╗┐δ╟∙╗≤┐í ┤δ╟╤ ┤┘╕Ñ ┴ñ║╕┤┬ Alan J. Flavell░í ╛┤ <a
  590.     href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language
  591.     Negotiation Notes</a>╕ª ┬ⁿ░φ╟╧╢≤. ▒╫╖»│¬ └╠ ╣«╝¡┤┬ ╛╞┴≈
  592.     ╛╞╞──í 2.0└╟ ║»╚¡╕ª ╣▌┐╡╟╧┴÷ ╛╩└╗ ╝÷ └╓┤┘.</p>
  593. </section>
  594.  
  595. </manualpage>
  596.