blob: f450ea2216c994847ca87f905c0f452183c2dd1e [file] [log] [blame]
<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó - Apache HTTP ¥µ¡¼¥Ð</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="./mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">ÍѸì</a> | <a href="./sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p>
<p class="apache">Apache HTTP ¥µ¡¼¥Ð ¥Ð¡¼¥¸¥ç¥ó 2.1</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP ¥µ¡¼¥Ð</a> &gt; <a href="http://httpd.apache.org/docs-project/">¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</a> &gt; <a href="./">¥Ð¡¼¥¸¥ç¥ó 2.1</a></div><div id="page-content"><div id="preamble"><h1>¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./ja/content-negotiation.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<p>Apache ¤Ï HTTP/1.1 ¤Îµ¬³Ê¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò
¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
¥Ö¥é¥¦¥¶¤Ë¤è¤êÄ󶡤µ¤ì¤¿¥á¥Ç¥£¥¢¥¿¥¤¥×¡¢
¸À¸ì¡¢Ê¸»ú¥»¥Ã¥È¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÍ¥Àè·¹¸þ¤Ë´ð¤Å¤¤¤Æ¡¢
ºÇŬ¤Ê¥ê¥½¡¼¥¹¤Îɽ¸½¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢ÉÔ´°Á´¤Ê¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¾ðÊó¤òÁ÷¤Ã¤Æ¤¯¤ë¥Ö¥é¥¦¥¶¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤ò
¤â¤Ã¤È¸­¤¯¼è¤ê°·¤¨¤ë¤è¤¦¡¢¤¤¤¯¤Ä¤«µ¡Ç½¤â¼ÂÁõ¤·¤Æ¤¢¤ê¤Þ¤¹¡£</p>
<p>¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ï
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>
¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤ÇÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#negotiation">Apache ¤Ë¤ª¤±¤ë¥Í¥´¥·¥¨¡¼¥·¥ç¥ó</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#methods">¥Í¥´¥·¥¨¡¼¥·¥ç¥óÊýË¡</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#better">ÉʼÁ¤ÎÃͤòÊѤ¨¤ë</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#extensions">Transparent Content Negotiation
¤Î³ÈÄ¥</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#naming">¥ê¥ó¥¯¤È̾Á°¤ÎÊÑ´¹¤Ë´Ø¤¹¤ëÃí°ÕÅÀ</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#caching">¥­¥ã¥Ã¥·¥å¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#more">ÄɲþðÊó</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="about" id="about">¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ</a></h2>
<p>¥ê¥½¡¼¥¹¤Ï¡¢´ö¤Ä¤«°Û¤Ê¤Ã¤¿É½¸½¤ÇÍøÍѤǤ­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
Î㤨¤Ð¡¢°Û¤Ê¤ë¸À¸ì¤ä°Û¤Ê¤ë¥á¥Ç¥£¥¢¥¿¥¤¥×¡¢
¤Þ¤¿¤Ï¤½¤ì¤é¤ÎÁȤ߹ç¤ï¤»¤ÇÍøÍѤǤ­¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£
¤â¤Ã¤È¤âŬ¤·¤¿ÁªÂò¤ò¤¹¤ëÊýË¡¤Î°ì¤Ä¤Ë¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ú¡¼¥¸¤ò
¥æ¡¼¥¶¤Ë¸«¤»¤Æ¡¢¥æ¡¼¥¶¤ËÁª¤ó¤Ç¤â¤é¤¦ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¡¢¥µ¡¼¥Ð¤¬¼«Æ°Åª¤ËÁª¤Ö¤³¤È¤¬¤Ç¤­¤ë¾ì¹ç¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥Ö¥é¥¦¥¶¤¬¥ê¥¯¥¨¥¹¥ÈËè¤Ë¡¢
¤É¤Îɽ¸½¤òÓϹ¥¤¹¤ë¤«¤È¤¤¤¦¾ðÊó¤òÁ÷¤ë¤³¤È¤ÇÆ°ºî¤·¤Æ¤¤¤Þ¤¹¡£
Î㤨¤Ð¥Ö¥é¥¦¥¶¤Ï¡¢²Äǽ¤Ê¤é¥Õ¥é¥ó¥¹¸ì¤Ç¾ðÊó¤ò¸«¤¿¤¤¡¢
ÉÔ²Äǽ¤Ê¤é¤½¤ÎÂå¤ï¤ê¤Ë±Ñ¸ì¤Ç¤â¤è¤¤¤È¡¢
¼«Ê¬¤ÎÓϹ¥¤òÃΤ餻¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥Ö¥é¥¦¥¶¤Ï¥ê¥¯¥¨¥¹¥È¤Î¥Ø¥Ã¥À¤Ç¼«Ê¬¤ÎÍ¥Àè·¹¸þ¤òÃΤ餻¤Þ¤¹¡£
¥Õ¥é¥ó¥¹¸ì¤Î¤ß¤Îɽ¸½¤òÍ׵᤹¤ë¾ì¹ç¤Ï¡¢¥Ö¥é¥¦¥¶¤Ï¼¡¤òÁ÷¤ê¤Þ¤¹¡£</p>
<div class="example"><p><code>Accept-Language: fr</code></p></div>
<p>¤³¤ÎÍ¥Àè·¹¸þ¤Ï¡¢ÁªÂò²Äǽ¤Êɽ¸½¤¬Â¸ºß¤·¤Æ¡¢
¸À¸ì¤Ë¤è¤Ã¤ÆÍÍ¡¹¤Êɽ¸½¤¬¤¢¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤ë
¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
<p>¤â¤Ã¤ÈÊ£»¨¤Ê¥ê¥¯¥¨¥¹¥È¤ÎÎã¤òµó¤²¤Þ¤·¤ç¤¦¡£
¤³¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥é¥ó¥¹¸ì¤È±Ñ¸ì¤ò¼õ¤±ÉÕ¤±¤ë¡¢¤·¤«¤·¥Õ¥é¥ó¥¹¸ì¤ò¹¥¤à¡¢
¤½¤·¤ÆÍÍ¡¹¤Ê¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò¼õ¤±ÉÕ¤±¤ë¤¬¡¢
¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤ä¾¤Î¥¿¥¤¥×¤è¤ê¤Ï HTML ¤ò¹¥¤à¡¢
¾¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤è¤ê¤Ï GIF ¤ä JPEG ¤ò¹¥¤à¡¢¤·¤«¤·ºÇ½ª¼êÃʤȤ·¤Æ
¾¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤â¼õ¤±ÉÕ¤±¤ë¡¢¤ÈÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
<div class="example"><p><code>
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
</code></p></div>
<p>Apache ¤Ï HTTP/1.1 µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë 'server
driven' ¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
<code>Accept</code>, <code>Accept-Language</code>,
<code>Accept-Charset</code>, <code>Accept-Encoding</code>
¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤ò´°Á´¤Ë¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£Apache ¤Ï
'transparent' ¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
¤³¤ì¤Ï RFC 2295 ¤È RFC 2296 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë»î¸³Åª¤Ê
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¤Ç¤¹¡£
¤³¤ì¤é¤Î RFC¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë 'feature negotiation'
¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£</p>
<p><strong>¥ê¥½¡¼¥¹</strong>¤È¤Ï URI
¤ÇÆÃÄꤵ¤ì¤ë³µÇ°¾å¤Î¤â¤Î¤Î¤³¤È¤Ç¤¹ (RFC 2396)¡£ Apache
¤Î¤è¤¦¤Ê HTTP ¥µ¡¼¥Ð¤Ï¡¢¤½¤Î̾Á°¶õ´Ö¤ÎÃæ¤Ç¤Î
¥ê¥½¡¼¥¹¤Î<strong>ɽ¸½</strong>¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ󶡤·¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Îɽ¸½¤Ï
ÄêµÁ¤µ¤ì¤¿¥á¥Ç¥£¥¢¥¿¥¤¥×¡¢Ê¸»ú¥»¥Ã¥È¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Åù¤Î
ÉÕ°¤·¤¿¡¢¥Ð¥¤¥ÈÎó¤Î·Á¼°¤Ç¤¹¡£
¤½¤ì¤¾¤ì¤Î¥ê¥½¡¼¥¹¤Ï¤¢¤ë»þÅÀ¤Ç 0 ¸Ä¡¢1 ¸Ä¡¢¤½¤ì°Ê¾å¤Îɽ¸½¤È
´ØÏ¢ÉÕ¤±¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Ê£¿ô¤Îɽ¸½¤¬ÍøÍѤǤ­¤ë¾ì¹ç¤Ï¡¢
¥ê¥½¡¼¥¹¤Ï<strong>¥Í¥´¥·¥¨¡¼¥·¥ç¥ó²Äǽ¤Ç¤¢¤ë</strong>¤È¤µ¤ì¡¢
¸Ä¡¹¤Îɽ¸½¤Ï <strong>variant</strong> ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó²Äǽ¤Ê¥ê¥½¡¼¥¹¤Î variant ¤¬°Û¤Ê¤ë¡¢
¤½¤Î¾õÂÖ¤ò»Ø¤·¤Æ¡¢
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î<strong>¼¡¸µ</strong>¤È¸Æ¤Ó¤Þ¤¹¡£</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="negotiation" id="negotiation">Apache ¤Ë¤ª¤±¤ë¥Í¥´¥·¥¨¡¼¥·¥ç¥ó</a></h2>
<p>¥ê¥½¡¼¥¹¤ò¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
¥µ¡¼¥Ð¤Ï variant ¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃΤäƤª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï°Ê²¼¤ÎÆó¤Ä¤ÎÊýË¡¤Î¤É¤Á¤é¤«¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£</p>
<ul>
<li>¥¿¥¤¥×¥Þ¥Ã¥×
(<em>¤¹¤Ê¤ï¤Á</em> <code>*.var</code> ¥Õ¥¡¥¤¥ë)
¤ò»È¤¦ÊýË¡¡£ ¤³¤ì¤Ï variant
¤òÌÀ¼¨Åª¤Ëµó¤²¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£</li>
<li>'Multiviews'
¤ò»È¤Ã¤Æ¡¢¥µ¡¼¥Ð¤¬°ÅÌÛ¤ÎÆâ¤Ë¥Õ¥¡¥¤¥ë̾¤Ë¥Ñ¥¿¡¼¥ó¾È¹ç¤ò
¹Ô¤Ê¤Ã¤Æ¤½¤Î·ë²Ì¤«¤éÁªÂò¤¹¤ëÊýË¡¡£</li>
</ul>
<h3><a name="type-map" id="type-map">type-map ¥Õ¥¡¥¤¥ë¤ò»È¤¦</a></h3>
<p>¥¿¥¤¥×¥Þ¥Ã¥×¤Ï <code>type-map</code> ¥Ï¥ó¥É¥é
(¤â¤·¤¯¤Ï¡¢¸Å¤¤ Apache
¤ÎÀßÄê¤È²¼°Ì¸ß´¹¤Ç¤¢¤ë MIME ¥¿¥¤¥×
<code>application/x-type-map</code>)
¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ç¤¹¡£
¤³¤Îµ¡Ç½¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢¤¢¤ë¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤ò
<code>type-map</code>
¤È¤·¤ÆÄêµÁ¤¹¤ë¤è¤¦¤Ê¥Ï¥ó¥É¥é¤ò¡¢
ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤ËÃÖ¤¯É¬Íפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï</p>
<div class="example"><p><code>AddHandler type-map .var</code></p></div>
<p>¤ò¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ë½ñ¤¯¤³¤È¤¬°ìÈÖÎɤ¤ÊýË¡¤Ç¤¹¡£</p>
<p>¥¿¥¤¥×¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤Ïµ­½Ò¤¹¤ë¥ê¥½¡¼¥¹¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢
ÍøÍѲÄǽ¤Ê variant ¤½¤ì¤¾¤ì¤Î¥¨¥ó¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤³¤Î¥¨¥ó¥È¥ê¤ÏϢ³¤·¤¿ HTTP ¤Î¥Ø¥Ã¥À¹Ô¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
°Û¤Ê¤ë variant ¤Î¤¿¤á¤Î¥¨¥ó¥È¥ê¤Ï¶õ¹Ô¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¥¨¥ó¥È¥êÃæ¤Ë¶õ¹Ô¤¬Ê£¿ô¤¢¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
½¬´·Åª¤Ë¤Ï¡¢¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤ÏÁ´ÂΤò·ë¹ç¤·¤¿¤â¤Î¤Î¥¨¥ó¥È¥ê¤«¤é»Ï¤Þ¤ê¤Þ¤¹
(¤·¤«¤·¤³¤ì¤Ïɬ¿Ü¤Ç¤Ï¤Ê¤¯¡¢¤¢¤Ã¤¿¤È¤·¤Æ¤â̵»ë¤µ¤ì¤ë¤â¤Î¤Ç¤¹)¡£
¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥ê¥½¡¼¥¹ <code>foo</code>
¤òµ­½Ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢<code>foo.var</code> ¤È¤¤¤¦Ì¾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£</p>
<div class="example"><p><code>
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 />
</code></p></div>
<p>¤¿¤È¤¨ MultiViews ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢
¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤è¤ê¥¿¥¤¥×¥Þ¥Ã¥×¤ÎÊý¤¬Í¥À踢¤ò»ý¤Ä¤È¤¤¤¦¤³¤È¤Ë¤â
Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
variant ¤ÎÉʼÁ¤¬°ã¤¦¤È¤­¤Ï¡¢¤³¤Î²èÁü¤Î¤è¤¦¤Ë (JPEG, GIF, ASCII
¥¢¡¼¥È¤¬¤¢¤ê¤Þ¤¹) ¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î "qs"
¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£</p>
<div class="example"><p><code>
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 />
</code></p></div>
<p>qs ÃͤÎÈÏ°Ï¤Ï 0.000 ¤«¤é 1.000 ¤Ç¤¹¡£qs Ãͤ¬
0.000 ¤Î variant ¤Ï·è¤·¤Æ
ÁªÂò¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£'qs' ÃͤΤʤ¤ variant
¤Ï qs ÃÍ 1.0 ¤ò Í¿¤¨¤é¤ì¤Þ¤¹¡£qs
¥Ñ¥é¥á¡¼¥¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ÎǽÎϤ˴ط¸Ìµ¤¯¡¢Â¾¤Î variant ¤È
Èæ³Ó¤·¤¿¤È¤­¤Î variant
¤ÎÁêÂÐŪ¤Ê¡ÖÉʼÁ¡×¤ò¼¨¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢¼Ì¿¿¤òɽ¸½¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¤­¤Ï JPEG
¥Õ¥¡¥¤¥ë¤ÎÊý¤¬ÉáÄÌ¤Ï ASCII
¥Õ¥¡¥¤¥ë¤è¤ê¤â¹â¤¤ÉʼÁ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¥ê¥½¡¼¥¹¤¬¸µ¡¹
ASCII ¥¢¡¼¥È¤Çɽ¸½¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¢ASCII ¥Õ¥¡¥¤¥ë¤Î
Êý¤¬ JPEG ¥Õ¥¡¥¤¥ë¤è¤ê¤â¹â¤¤ÉʼÁ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë¡¢qs
¤Ï ɽ¸½¤µ¤ì¤ë¥ê¥½¡¼¥¹¤ÎÀ­¼Á¤Ë¤è¤Ã¤Æ variant
Ëè¤ËÆÃÍ­¤ÎÃͤò¼è¤ê¤Þ¤¹¡£</p>
<p>ǧ¼±¤µ¤ì¤ë¥Ø¥Ã¥À¤Î°ìÍ÷¤Ï
<a href="mod/mod_negotiation.html#typemaps">mod_negotiation</a>
¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ê¤Þ¤¹¡£</p>
<h3><a name="multiviews" id="multiviews">Multiviews</a></h3>
<p><code>MultiViews</code> ¤Ï¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢
<code>httpd.conf</code>¥Õ¥¡¥¤¥ë¤Î
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>
¥»¥¯¥·¥ç¥óÃæ¤ä¡¢(<code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
¤¬Å¬ÀÚ¤ÊÃÍ¤Ë ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È) <code>.htaccess</code>
¥Õ¥¡¥¤¥ë¤Ç <code class="directive"><a href="./mod/core.html#options">Options</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ë¤è¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
<code>Options All</code> ¤Ï
<code>MultiViews</code>
¤ò¥»¥Ã¥È¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ÌÀ¼¨Åª¤Ë
¤½¤Î̾Á°¤ò½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</p>
<p><code>MultiViews</code> ¤Î¸ú²Ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
¥µ¡¼¥Ð¤¬ <code>/some/dir/foo</code>
¤Ø¤Î¥ê¥¯¥¨¥¹¥È¤ò¼õ¤±¼è¤ê¡¢<code>/some/dir</code> ¤Ç
<code>MultiViews</code> ¤¬Í­¸ú¤Ç¤¢¤Ã¤Æ¡¢
<code>/some/dir/foo</code> ¤¬Â¸ºß<em>¤·¤Ê¤¤</em>¾ì¹ç¡¢
¥µ¡¼¥Ð¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÆɤó¤Ç <code>foo.*</code>
¤Ë¤¢¤Æ¤Ï¤Þ¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¡¢
»ö¼Â¾å¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥Þ¥Ã¥×¤¹¤ë¥¿¥¤¥×¥Þ¥Ã¥×¤òºî¤ê¤Þ¤¹¡£
¤½¤Î¤È¤­¡¢¥á¥Ç¥£¥¢¥¿¥¤¥×¤È¥³¥ó¥Æ¥ó¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò
ľÀÜ»ØÄꤷ¤¿¤È¤­¤ÈƱ¤¸¤â¤Î¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
¤½¤ì¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ÎÍ×µá¤Ë°ìÈֹ礦¤â¤Î¤òÁª¤Ó¤Þ¤¹¡£</p>
<p>¥µ¡¼¥Ð¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Îº÷°ú¤òºî¤í¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¡¢
<code>MultiViews</code>
¤Ï <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤òõ¤¹²áÄø¤Ë¤â
ŬÍѤµ¤ì¤Þ¤¹¡£ÀßÄê¥Õ¥¡¥¤¥ë¤Ë</p>
<div class="example"><p><code>DirectoryIndex index</code></p></div>
<p>¤¬½ñ¤«¤ì¤Æ¤¤¤Æ¡¢<code>index.html</code> ¤È
<code>index.html3</code> ¤¬
ξÊý¸ºß¤·¤Æ¤¤¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¤½¤ÎÃ椫¤é¤É¤Á¤é¤«¤òŬÅö¤ËÁª¤Ó¤Þ¤¹¡£
¤â¤·¤½¤ÎξÊý¤¬Â¸ºß¤»¤º¤Ë <code>index.cgi</code>
¤¬Â¸ºß¤·¤Æ¤¤¤ë¤È¡¢ ¥µ¡¼¥Ð¤Ï¤½¤ì¤ò¼Â¹Ô¤·¤Þ¤¹¡£</p>
<p>¤â¤·¥Ç¥£¥ì¥¯¥È¥ê¤òÆɤó¤Ç¤¤¤ëºÝ¤Ë¡¢
ʸ»ú¥»¥Ã¥È¡¢¥³¥ó¥Æ¥ó¥È¥¿¥¤¥×¡¢¸À¸ì¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò
»ØÄꤹ¤ë¤¿¤á¤Î <code>mod_mime</code>
¤Çǧ¼±¤Ç¤­¤ë³ÈÄ¥»Ò¤ò»ý¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ë¤È¡¢·ë²Ì¤Ï
<code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÀßÄê¤Ë°Í¸¤·¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï
¥Ï¥ó¥É¥é¡¢¥Õ¥£¥ë¥¿¡¢Â¾¤Î¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò¥¿¥¤¥×¤Î¤É¤ì¤¬
MultiViews ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ç»ÈÍѤǤ­¤ë¤«¤ò·èÄꤷ¤Þ¤¹¡£</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="methods" id="methods">¥Í¥´¥·¥¨¡¼¥·¥ç¥óÊýË¡</a></h2>
<p>Apache ¤Ï¥ê¥½¡¼¥¹¤Î variant ¤Î°ìÍ÷¤ò¡¢¥¿¥¤¥×¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤«
¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë̾¤«¤é¤«¤Ç¼èÆÀ¤·¤¿¸å¡¢
¡ÖºÇŬ¤Ê¡× variant ¤ò·èÄꤹ¤ë¤¿¤á¤ËÆó¤Ä¤ÎÊýË¡¤Î
¤É¤Á¤é¤«¤òµ¯Æ°¤·¤Þ¤¹¡£
Apache ¤Î¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Îµ¡Ç½¤ò»È¤¦¤¿¤á¤Ë¡¢
¤É¤Î¤è¤¦¤Ë¤·¤Æ¤³¤ÎÄ´Ä䤬¹Ô¤ï¤ì¤ë¤«¾ÜºÙ¤òÃΤëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤Îʸ½ñ¤Î»Ä¤ê¤Ç¤Ï´Ø¿´¤Î¤¢¤ë¿Í¤Î¤¿¤á¤Ë¡¢
»ÈÍѤµ¤ì¤Æ¤¤¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£</p>
<p>¥Í¥´¥·¥¨¡¼¥·¥ç¥óÊýË¡¤ÏÆó¤Ä¤¢¤ê¤Þ¤¹¡£</p>
<ol>
<li>Ä̾ï¤Ï <strong>Apache ¤Î¥¢¥ë¥´¥ê¥º¥à¤òÍѤ¤¤¿ Server
driven negotiation</strong> ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Apache
¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¸å¤Ë¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢Apache
¤Ï¤è¤êÎɤ¤·ë²Ì¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢ÆÃÄê¤Î¼¡¸µ¤Ë¤ª¤¤¤ÆÉʼÁ¤ÎÃͤò
¡ÖÊѤ¨¤ë¡×¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Apache
¤¬ÉʼÁ¤ÎÃͤòÊѤ¨¤ëÊýË¡¤Ï¸å¤Ç¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li>RFC 2295
¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëµ¡¹½¤òÍѤ¤¤Æ¥Ö¥é¥¦¥¶¤¬Æä˻ØÄꤷ¤¿¾ì¹ç¡¢
<strong>transparent content negotiation</strong>
¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥óÊýË¡¤Ç¤Ï¡¢¡ÖºÇŬ¤Ê¡×
variant ¤Î·èÄê¤ò¥Ö¥é¥¦¥¶¤¬´°Á´¤ËÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤Ç¤¹¤«¤é¡¢·ë²Ì¤Ï¥Ö¥é¥¦¥¶¤¬»ÈÍѤ·¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à¤Ë°Í¸¤·¤Þ¤¹¡£
Transparent negotiation ¤Î½èÍý¤Î²áÄø¤Ç¡¢¥Ö¥é¥¦¥¶¤Ï RFC 2296
¤Ç ÄêµÁ¤µ¤ì¤Æ¤¤¤ë 'remote variant selection algorithm'
¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÍê¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</li>
</ol>
<h3><a name="dimensions" id="dimensions">¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î¼¡¸µ</a></h3>
<table>
<tr valign="top">
<th>¼¡¸µ</th>
<th>ÀâÌÀ</th>
</tr>
<tr valign="top">
<td>¥á¥Ç¥£¥¢¥¿¥¤¥×</td>
<td>¥Ö¥é¥¦¥¶¤Ï <code>Accept</code>
¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤ÇÍ¥Àè·¹¸þ¤ò»ØÄꤷ¤Þ¤¹¡£
¥¢¥¤¥Æ¥à¤½¤ì¤¾¤ì¤Ï¡¢´ØÏ¢¤·¤¿ÉʼÁ¿ôÃͤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
variant ¤ÎÀâÌÀ¤âÉʼÁ¿ôÃͤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹
("qs" ¥Ñ¥é¥á¡¼¥¿¤ò¤´Í÷²¼¤µ¤¤)¡£</td>
</tr>
<tr valign="top">
<td>¸À¸ì</td>
<td>¥Ö¥é¥¦¥¶¤Ï <code>Accept-Language</code>
¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤ÇÍ¥Àè·¹¸þ¤ò»ØÄꤷ¤Þ¤¹¡£
Í×ÁǤ½¤ì¤¾¤ì¤ËÉʼÁ¿ôÃͤò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
variants ¤Ï 0 ¤« 1 ¤Ä¤«¤½¤ì°Ê¾å¤Î¸À¸ì¤È
´ØÏ¢¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</td>
</tr>
<tr valign="top">
<td>¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°</td>
<td>¥Ö¥é¥¦¥¶¤Ï <code>Accept-Encoding</code>
¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤ÇÍ¥Àè·¹¸þ¤ò»ØÄꤷ¤Þ¤¹¡£
Í×ÁǤ½¤ì¤¾¤ì¤ËÉʼÁ¿ôÃͤò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</td>
</tr>
<tr valign="top">
<td>ʸ»ú¥»¥Ã¥È</td>
<td>¥Ö¥é¥¦¥¶¤Ï <code>Accept-Charset</code>
¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤ÇÍ¥Àè·¹¸þ¤ò»ØÄꤷ¤Þ¤¹¡£
Í×ÁǤ½¤ì¤¾¤ì¤ËÉʼÁ¿ôÃͤò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
variant ¤Ï¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æʸ»ú¥»¥Ã¥È¤ò
»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</td>
</tr>
</table>
<h3><a name="algorithm" id="algorithm">Apache ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¥¢¥ë¥´¥ê¥º¥à</a></h3>
<p>¥Ö¥é¥¦¥¶¤ËÊÖ¤¹¡ÖºÇŬ¤Ê¡×variant ¤ò (¤â¤·¤¢¤ì¤Ð) ÁªÂò¤¹¤ë¤è¤¦¤Ë
Apache ¤Ï¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤òÀßÄê¤Ë¤è¤êÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
¼¡¤Î¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹:</p>
<ol>
<li>¤Þ¤º¤Ï¤¸¤á¤Ë¡¢¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î¼¡¸µ¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤ÆŬÀÚ¤Ê
<em>Accept*</em> ¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤òÄ´¤Ù¡¢
variant ¤½¤ì¤¾¤ì¤ËÉʼÁ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
¤â¤·¤¢¤ë¼¡¸µ¤Î <em>Accept*</em> ¥Ø¥Ã¥À¤Ç¤½¤Î variant
¤¬µöÍƤǤ­¤Ê¤¤¤³¤È¤¬¼¨¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤ì¤òºï½ü¤·¤Þ¤¹¡£
variant ¤¬°ì¤Ä¤â»Ä¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¥¹¥Æ¥Ã¥× 4 ¤Ë¹Ô¤­¤Þ¤¹¡£</li>
<li>
¾ÃµîË¡¤Ç¡ÖºÇŬ¤Ê¡× variant ¤òÁª¤Ó¤Þ¤¹¡£
¼¡¤Î¥Æ¥¹¥È¤¬½çÈÖ¤ËŬÍѤµ¤ì¤Þ¤¹¡£
¥Æ¥¹¥È¤ÇÁªÂò¤µ¤ì¤Ê¤«¤Ã¤¿ variant ¤Ïºï½ü¤µ¤ì¤Æ¤¤¤­¤Þ¤¹¡£
¥Æ¥¹¥È¸å variant ¤¬°ì¤Ä¤À¤±»Ä¤Ã¤Æ¤¤¤ì¤Ð¡¢¤½¤ì¤òºÇŬ¤Ê¤â¤Î¤È¤·¤Æ
¥¹¥Æ¥Ã¥× 3 ¤Ë¿Ê¤ß¤Þ¤¹¡£
Ê£¿ô variant ¤¬»Ä¤Ã¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¥Æ¥¹¥È¤Ë¿Ê¤ß¤Þ¤¹¡£
<ol>
<li>variant ¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤ÎÉʼÁ¿ôÃÍ¤È <code>Accept</code>
¥Ø¥Ã¥À¤ÎÉʼÁ¿ôÃͤȤÎÀѤò·×»»¤·¤Æ¡¢ºÇ¹âÃͤΠvariant
¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>¸À¸ìÉʼÁ¿ôÃͤ¬ºÇ¹â¤Î variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>(¤â¤·¤¢¤ì¤Ð) <code>Accept-Language</code> ¥Ø¥Ã¥À¤Î¸À¸ì½ç¤«¡¢
(¤â¤·¤¢¤ì¤Ð)
<code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Î¸À¸ì½ç¤ÇºÇŬ¤Ê¸À¸ì¤Î variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>ºÇ¹â¡Ö¥ì¥Ù¥ë¡×¤Î¥á¥Ç¥£¥¢¥Ñ¥é¥á¡¼¥¿
(text/html ¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î¥Ð¡¼¥¸¥ç¥ó¤òÍ¿¤¨¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹)
¤ò»ý¤Ä variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li><code>Accept-Charset</code> ¥Ø¥Ã¥À¹Ô¤ÇÍ¿¤¨¤é¤ì¤Æ¤¤¤ëºÇ¹â¤Îʸ»ú¥»¥Ã¥È
¥á¥Ç¥£¥¢¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä variant ¤òÁª¤Ó¤Þ¤¹¡£
ÌÀ¼¨Åª¤Ë½ü³°¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢ISO-8859-1
¤¬µöÍƤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<code>text/*</code> ¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ç¤¢¤ë¤±¤ì¤É¤â
ÆÃÄê¤Îʸ»ú¥»¥Ã¥È¤ËÌÀ¼¨Åª¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤
variant ¤Ï ISO-8859-1 ¤Ç¤¢¤ë¤È²¾Äꤵ¤ì¤Þ¤¹¡£</li>
<li>ISO-8859-1 <em>¤Ç¤Ï¤Ê¤¤</em>ʸ»ú¥»¥Ã¥È¥á¥Ç¥£¥¢¥Ñ¥é¥á¡¼¥¿¤È
´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë variant ¤òÁª¤Ó¤Þ¤¹¡£
¤½¤Î¤è¤¦¤Ê variant ¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢Âå¤ï¤ê¤ËÁ´¤Æ¤Î
variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>ºÇŬ¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î variant ¤òÁª¤Ó¤Þ¤¹¡£
¤â¤· user-agent ¤¬µöÍƤ¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬¤¢¤ì¤Ð¡¢
¤½¤Î variant ¤Î¤ß¤òÁª¤Ó¤Þ¤¹¡£
¤½¤¦¤Ç¤Ï¤Ê¤¯¡¢¤â¤·¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¤â¤Î¤È¤½¤¦¤Ç¤Ê¤¤
variant ¤¬º®¤¶¤Ã¤Æ¸ºß¤·¤Æ¤¤¤¿¤é¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤¤
variant ¤Î¤ß¤òÁª¤Ó¤Þ¤¹¡£
variant ¤¬Á´Éô¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤«
variant ¤¬Á´Éô¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢
Á´¤Æ¤Î variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>ÆâÍƤκǤâû¤¤ variant ¤òÁª¤Ó¤Þ¤¹¡£</li>
<li>»Ä¤Ã¤Æ¤¤¤ë variant ¤ÎºÇ½é¤Î¤â¤Î¤òÁª¤Ó¤Þ¤¹¡£
¥¿¥¤¥×¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¤«¡¢
variant ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºÇ½é¤ËÆɤ߹þ¤Þ¤ì¤ë»þ¤Ë
ASCII½ç¤Ç¥½¡¼¥È¤·¤Æ¥Õ¥¡¥¤¥ë̾¤¬ÀèƬ¤Ë¤Ê¤Ã¤¿¤«¡¢¤Î¤É¤Á¤é¤«¤Ç¤¹¡£</li>
</ol>
</li>
<li>¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ°ì¤Ä¤Î¡ÖºÇŬ¤Ê¡×variant ¤òÁª¤Ó¤Þ¤·¤¿¤Î¤Ç¡¢
¤½¤ì¤ò±þÅú¤È¤·¤ÆÊÖ¤·¤Þ¤¹¡£¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î¼¡¸µ¤ò»ØÄꤹ¤ë¤¿¤á¤Ë
HTTP ¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À <code>Vary</code> ¤¬ÀßÄꤵ¤ì¤Þ¤¹
(¥ê¥½¡¼¥¹¤Î¥­¥ã¥Ã¥·¥å¤ò¤¹¤ë»þ¤Ë¡¢
¥Ö¥é¥¦¥¶¤ä¥­¥ã¥Ã¥·¥å¤Ï¤³¤Î¾ðÊó¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹)¡£
°Ê¾å¤Ç½ª¤ï¤ê¡£</li>
<li>¤³¤³¤ËÍ褿¤È¤¤¤¦¤³¤È¤Ï¡¢variant ¤¬°ì¤Ä¤âÁªÂò¤µ¤ì¤Ê¤«¤Ã¤¿
(¥Ö¥é¥¦¥¶¤¬µöÍƤ¹¤ë¤â¤Î¤¬¤Ê¤«¤Ã¤¿¤¿¤á) ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
406 ¥¹¥Æ¡¼¥¿¥¹ ("No Acceptable representation" ¤ò°ÕÌ£¤¹¤ë)
¤¬¡¢ÍøÍѲÄǽ¤Ê variant ¤Î¥ê¥¹¥È¤Î¤Ä¤¤¤¿ HTML
¥É¥­¥å¥á¥ó¥È¤È¤È¤â¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
Áê°ã¤Î¼¡¸µ¤ò¼¨¤¹ HTTP <code>Vary</code> ¥Ø¥Ã¥À¤âÀßÄꤵ¤ì¤Þ¤¹¡£</li>
</ol>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="better" id="better">ÉʼÁ¤ÎÃͤòÊѤ¨¤ë</a></h2>
<p>¾åµ­¤Î Apache ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¥¢¥ë¥´¥ê¥º¥à¤Î¸·³Ê¤Ê²ò¼á¤Ç
ÆÀ¤é¤ì¤ë¤Ç¤¢¤í¤¦Ãͤ«¤é¡¢Apache ¤ÏÉʼÁ¿ôÃͤò»þ¡¹ÊѤ¨¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç´°Á´¤Ç¤Ï¤Ê¤¤¡¢¤¢¤ë¤¤¤ÏÀµ³Î¤Ç¤Ê¤¤¾ðÊó¤òÁ÷¤ë
¥Ö¥é¥¦¥¶¸þ¤±¤Ë¤è¤ê¤è¤¤·ë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£
¤«¤Ê¤ê¥Ý¥Ô¥å¥é¡¼¤Ê¥Ö¥é¥¦¥¶¤Ç¡¢¤â¤·¤Ê¤¤¤È´Ö°ã¤Ã¤¿ variant
¤òÁªÂò¤¹¤ë·ë²Ì¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤¦¤Ê <code>Accept</code>
¥Ø¥Ã¥À¾ðÊó¤òÁ÷¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£
¥Ö¥é¥¦¥¶¤¬´°Á´¤ÇÀµ¤·¤¤¾ðÊó¤òÁ÷¤Ã¤Æ¤¤¤ì¤Ð¡¢
¤³¤Î¿ôÃÍÊѲ½¤ÏŬÍѤµ¤ì¤Þ¤»¤ó¡£</p>
<h3><a name="wildcards" id="wildcards">¥á¥Ç¥£¥¢¥¿¥¤¥×¤È¥ï¥¤¥ë¥É¥«¡¼¥É</a></h3>
<p><code>Accept:</code> ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ï¥á¥Ç¥£¥¢¥¿¥¤¥×¤ÎÍ¥Àè·¹¸þ¤ò»ØÄꤷ¤Þ¤¹¡£
¤³¤ì¤Ï¤Þ¤¿¡¢"image/*" ¤ä "*/*"
¤È¤¤¤Ã¤¿¡Ö¥ï¥¤¥ë¥É¥«¡¼¥É¡×¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤³¤Ç * ¤ÏǤ°Õ¤Îʸ»úÎó¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
¤Ç¤¹¤«¤é¡¢¼¡¤Î:</p>
<div class="example"><p><code>Accept: image/*, */*</code></p></div>
<p>¤ò´Þ¤à¥ê¥¯¥¨¥¹¥È¤Ï¡¢"image/" ¤Ç¤Ï¤¸¤Þ¤ë¥¿¥¤¥×Á´¤Æ¤¬µöÍƤǤ­¤ë¡¢
¤½¤·¤Æ¾¤Î¤É¤ó¤Ê¥¿¥¤¥×¤âµöÍƤǤ­¤ë
(¤³¤Î¾ì¹ç¤Ï¤¸¤á¤Î "image/*" ¤Ï¾éĹ¤Ë¤Ê¤ê¤Þ¤¹)
¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
°·¤¦¤³¤È¤Î¤Ç¤­¤ëÌÀ¼¨Åª¤Ê¥¿¥¤¥×¤Ë²Ã¤¨¤Æ¡¢µ¡³£Åª¤Ë
¥ï¥¤¥ë¥É¥«¡¼¥É¤òÁ÷¤ë¥Ö¥é¥¦¥¶¤â¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð:</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*
</code></p></div>
<p>¤³¤¦¤¹¤ë¤³¤È¤ÎÁÀ¤¤¤Ï¡¢ÌÀ¼¨Åª¤Ë¥ê¥¹¥È¤·¤Æ¤¤¤ë¥¿¥¤¥×¤¬Í¥À褵¤ì¤ë¤±¤ì¤É¤â¡¢
°Û¤Ê¤ëɽ¸½¤¬ÍøÍѲÄǽ¤Ç¤¢¤ì¤Ð¤½¤ì¤Ç¤âÎɤ¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¾å¤Î´ðËÜŪ¤Ê¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡¢
*/* ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï¾¤ÎÁ´¤Æ¤Î¥¿¥¤¥×¤ÈÁ´¤¯Æ±Åù¤Ê¤Î¤ÇÍ¥À褵¤ì¤Þ¤»¤ó¡£
¥Ö¥é¥¦¥¶¤Ï */* ¤Ë¤â¤Ã¤ÈÄ㤤ÉʼÁ (Í¥Àè)
ÃͤòÉÕ¤±¤Æ¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ë¤Ù¤­¤Ê¤Î¤Ç¤¹¡£Î㤨¤Ð:</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
</code></p></div>
<p>ÌÀ¼¨Åª¤Ê¥¿¥¤¥×¤Ë¤ÏÉʼÁ¿ôÃͤ¬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢
¥Ç¥Õ¥©¥ë¥È¤Î 1.0 (ºÇ¹âÃÍ) ¤ÎÍ¥Àè¤Ë¤Ê¤ê¤Þ¤¹¡£
¥ï¥¤¥ë¥É¥«¡¼¥É */* ¤ÏÄ㤤ͥÀèÅÙ 0.01 ¤òÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
ÌÀ¼¨Åª¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥×¤Ë¹çÃפ¹¤ë variant ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Î¤ß¡¢
¾¤Î¥¿¥¤¥×¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£</p>
<p>¤â¤· <code>Accept:</code> ¥Ø¥Ã¥À¤¬ q ÃͤòÁ´¤¯´Þ¤ó¤Ç<em>¤¤¤Ê¤±¤ì¤Ð</em>¡¢
˾¤ß¤ÎµóÆ°¤ò¤¹¤ë¤¿¤á¤Ë¡¢
Apache ¤Ï "*/*" ¤¬¤¢¤ì¤Ð 0.01 ¤Î q ÃͤòÀßÄꤷ¤Þ¤¹¡£
¤Þ¤¿¡¢"type/*" ¤Î·Á¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤Ï 0.02 ¤Î q ÃͤòÀßÄꤷ¤Þ¤¹
(¤Ç¤¹¤«¤é¤³¤ì¤é¤Ï "*/*" ¤Î¥Þ¥Ã¥Á¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹)¡£
¤â¤· <code>Accept:</code> ¥Ø¥Ã¥ÀÃæ¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î¤É¤ì¤«¤¬ q
Ãͤò´Þ¤ó¤Ç¤¤¤ì¤Ð¡¢¤³¤ì¤é¤ÎÆüì¤ÊÃͤÏŬ±þ<em>¤µ¤ì¤º</em>¡¢
Àµ¤·¤¤¾ðÊó¤òÁ÷¤ë¥Ö¥é¥¦¥¶¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤Ï´üÂÔÄ̤ê¤Ë
Æ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</p>
<h3><a name="exceptions" id="exceptions">¸À¸ì¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ÎÎã³°½èÍý</a></h3>
<p>Apache 2.0 ¤Ç¤Ï¿·¤¿¤Ë¡¢¸À¸ì¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¬Å¬¹ç¤¹¤ë¤â¤Î¤ò
¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤¿»þ¤Ë¡¢Í¥²í¤Ë¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯¤Ç¤­¤ë¤è¤¦¤Ê
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¥¢¥ë¥´¥ê¥º¥à¤¬´ö¤Ä¤«Äɲ䵤ì¤Þ¤·¤¿¡£</p>
<p>¥µ¡¼¥Ð¤Î¥Ú¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬¥ê¥¯¥¨¥¹¥È¤·¤¿¤±¤ì¤É¤â¡¢
¥Ö¥é¥¦¥¶¤ÎÁ÷¤Ã¤Æ¤­¤¿ <code>Accept-Language</code> ¤Ë¹çÃפ¹¤ë¥Ú¡¼¥¸¤¬°ì¤Ä¤â
¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢¥µ¡¼¥Ð¤Ï "No Acceptable Variant"
¤« "Multiple Choices" ¥ì¥¹¥Ý¥ó¥¹¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÊÖ¤·¤Þ¤¹¡£
¤³¤ì¤é¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÊÖ¤µ¤Ê¤¤¤è¤¦¤Ë¡¢
¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï Apache ¤¬ <code>Accept-Language</code> ¤ò̵»ë¤·¤Æ¡¢
¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥¯¥¨¥¹¥È¤ËÌÀ¼¨Åª¤Ë¤Ï¹çÃפ·¤Ê¤¤¥É¥­¥å¥á¥ó¥È¤ò
Ä󶡤¹¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
<code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï¡¢¤³¤ì¤é¤Î¥¨¥é¡¼¤Î°ì¤Ä¤«Î¾Êý¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ë¤¿¤á¤Ë
»ÈÍѤǤ­¤Æ¡¢
<code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÆâÍƤò»È¤Ã¤Æ¥µ¡¼¥Ð¤ÎȽÃǤòÂå¹Ô¤¹¤ë¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£</p>
<p>¥µ¡¼¥Ð¤Ï¾¤ËŬ¹ç¤¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð¡¢
¸À¸ì¥µ¥Ö¥»¥Ã¥È¤ÇŬ¹ç¤¹¤ë¤â¤Î¤ò»î¤½¤¦¤È¤â¤·¤Þ¤¹¡£
Î㤨¤Ð¥¯¥é¥¤¥¢¥ó¥È¤¬±Ñ¹ñ±Ñ¸ì¤Ç¤¢¤ë <code>en-GB</code> ¸À¸ì¤Ç
¥É¥­¥å¥á¥ó¥È¤ò¥ê¥¯¥¨¥¹¥È¤·¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï HTTP/1.1
µ¬³Ê¤Ç¤Ï¡¢Ã±¤Ë <code>en</code> ¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤ò
¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤È¤¹¤ë¤³¤È¤ÏÄ̾ï¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
(±Ñ¹ñ±Ñ¸ì¤ÏÍý²ò¤Ç¤­¤ë¤±¤É°ìÈÌŪ¤Ê±Ñ¸ì¤ÏÍý²ò¤Ç¤­¤Ê¤¤¤È¤¤¤¦Æɤ߼ê¤Ï
¹Í¤¨¤é¤ì¤Ê¤¤¤Î¤Ç¡¢Accept-Language ¥Ø¥Ã¥À¤Ç <code>en-GB</code>
¤ò´Þ¤ó¤Ç <code>en</code> ¤ò´Þ¤Þ¤Ê¤¤¤Î¤Ï¤Û¤Ü³Î¼Â¤ËÀßÄê¤Î´Ö°ã¤¤¤Ç¤¢¤ë¡¢
¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ç¤¹¤¬ÉÔ¹¬¤Ê¤³¤È¤Ë¡¢Â¿¤¯¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç
¤³¤Î¤è¤¦¤ÊÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£)
¤·¤«¤·¤Ê¤¬¤é¡¢Â¾¤Î¸À¸ì¤Ë¤Ï¥Þ¥Ã¥Á¤»¤º¡¢"No Acceptable Variants"
¥¨¥é¡¼¤òÊÖ¤·¤¿¤ê¡¢
<code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>
¤Ë¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¤­¤Ï¡¢
¥µ¥Ö¥»¥Ã¥È»ØÄê¤ò̵»ë¤·¤Æ¡¢<code>en-GB</code> ¤ò <code>en</code>
¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
Apache ¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ÎµöÍƸÀ¸ì¥ê¥¹¥È¤Ë°ÅÌÛ¤Ë
Èó¾ï¤ËÄ㤤ÉʼÁÃͤοƸÀ¸ì¤ò²Ã¤¨¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤·¤«¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ "en-GB; q=0.9, fr; q=0.8" ¤È¥ê¥¯¥¨¥¹¥È¤·¤Æ¡¢
¥µ¡¼¥Ð¤¬ "en" ¤È "fr" ¤ÈÀ߷פµ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
"fr" ¥É¥­¥å¥á¥ó¥È¤¬ÊÖ¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¤è¤¦¤Ê½èÍý¤Ï¡¢HTTP 1.1 µ¬³Ê¤È¤ÎÀ°¹çÀ­¤ò°Ý»ý¤·¤Æ¡¢
ŬÀÚ¤ËÀßÄꤵ¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È¤È¤â¤­¤Á¤ó¤ÈÆ°ºî¤¹¤ë¤¿¤á¤Ë
ɬÍפǤ¹¡£</p>
<p>¤è¤ê¹âÅ٤ʥƥ¯¥Ë¥Ã¥¯ (Cookie ¤äÆüì¤Ê URL ¥Ñ¥¹Åù)
¤Ë¤ª¤¤¤Æ¤â¥æ¡¼¥¶¤Î¸À¸ìÁªÂò¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¡¢
Apache 2.0.47 ¤«¤é¤Ï¡¢<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>
¤¬<a href="env.html">´Ä¶­ÊÑ¿ô</a> <code>prefer-language</code>
¤òǧ¼±¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¤³¤ÎÊÑ¿ô¤¬Â¸ºß¤·¤Æ¡¢Å¬ÀڤʸÀ¸ì¥¿¥°¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> ¤Ï¹çÃפ¹¤ë variant
¤òÁªÂò¤·¤è¤¦¤È¤·¤Þ¤¹¡£¹çÃפ¹¤ë¤â¤Î¤¬Ìµ¤±¤ì¤Ð¡¢
Ä̾ï¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¼ê½ç¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£</p>
<div class="example"><h3>Example</h3><p><code>
SetEnvIf Cookie "language=(.+)" prefer-language=$1
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="extensions" id="extensions">Transparent Content Negotiation
¤Î³ÈÄ¥</a></h2>
<p>Apache ¤Ï transparent content negotiation ¥×¥í¥È¥³¥ë
(RFC 2295) ¤ò¼¡¤Î¤è¤¦¤Ë³ÈÄ¥¤·¤Æ¤¤¤Þ¤¹¡£
ÆÃÄê¤Î¥³¥ó¥Æ¥ó¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¤ß¤¬ÍøÍѲÄǽ¤Ç¤¢¤ë variant
¤Ë°õ¤òÉÕ¤±¤ë¤¿¤á¤Ë¡¢¿·¤¿¤Ë <code>{encoding ..}</code>
Í×ÁǤò variant ¥ê¥¹¥ÈÃæ¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¡£
¥ê¥¹¥ÈÃæ¤Î¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿ variant ¤òǧ¼±¤·¡¢
<code>Accept-Encoding</code> ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ë½¾¤Ã¤ÆµöÍƤµ¤ì¤ë
¥¨¥ó¥³¡¼¥É¤ò¤â¤Ã¤¿ variant ¤Ï¡¢¤É¤ì¤Ç¤â¸õÊä variant
¤È¤·¤Æ»ÈÍѤ¹¤ë¤è¤¦¤Ë¡¢
RVSA/1.0 ¥¢¥ë¥´¥ê¥º¥à (RFC 2296) ¤Î¼ÂÁõ¤¬³ÈÄ¥¤µ¤ì¤Þ¤·¤¿¡£
RVSA/1.0 ¤Î¼ÂÁõ¤Ç¤Ï¡¢ºÇŬ¤Ê variant ¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢
·×»»¤·¤¿ÉʼÁ¿ôÃͤϾ®¿ôÅÀ°Ê²¼ 5 ·å¤Þ¤Ç´Ý¤á¤Þ¤»¤ó¡£</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="naming" id="naming">¥ê¥ó¥¯¤È̾Á°¤ÎÊÑ´¹¤Ë´Ø¤¹¤ëÃí°ÕÅÀ</a></h2>
<p>¸À¸ì¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
¥Õ¥¡¥¤¥ë¤¬°ì¤Ä°Ê¾å¤Î³ÈÄ¥»Ò¤ò»ý¤Æ¤Æ¡¢
³ÈÄ¥»Ò¤Î½çÈÖ¤ÏÄ̾ï¤Ï¹Í褵¤ì¤Ê¤¤
(¾ÜºÙ¤Ï <a href="mod/mod_mime.html#multipleext">mod_mime</a>
¤ò»²¾È) ¤Î¤Ç¡¢
´ö¤Ä¤«¤Î°Û¤Ê¤ë̾Á°¤ÎÊÑ´¹¤òÁª¤Ù¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£</p>
<p>ŵ·¿Åª¤Ê¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢MIME ¥¿¥¤¥×³ÈÄ¥»Ò (<em>Î㤨¤Ð</em>
<code>html</code>) ¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°³ÈÄ¥»Ò
(<em>Î㤨¤Ð</em> <code>gz</code>) ¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¯¤Æ¡¢
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë°Û¤Ê¤ë¸À¸ì variant ¤òÍÑ°Õ¤·¤Æ¤¤¤ì¤Ð¡¢
¤â¤Á¤í¤ó¸À¸ì³ÈÄ¥»Ò (<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 class="bordered">
<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 ¥¿¥¤¥×¤ò»È¤¤Â³¤±¤¿¤¤ (<em>Î㤨¤Ð</em>
<code>foo.html</code>)»þ¤Ï¡¢¸À¸ì³ÈÄ¥»Ò¤Ï
(¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°³ÈÄ¥»Ò¤â¤¢¤ì¤Ð¤½¤ì¤â´Þ¤á¤Æ)
MIME ¥¿¥¤¥×³ÈÄ¥»Ò¤Î±¦Â¦¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
(<em>Î㤨¤Ð</em> <code>foo.html.en</code>)¡£</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="caching" id="caching">¥­¥ã¥Ã¥·¥å¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à</a></h2>
<p>¥­¥ã¥Ã¥·¥å¤¬°ì¤Ä¤Îɽ¸½¤òÊݸ¤·¤Æ¤¤¤ë¤È¤­¤Ï¡¢
¥ê¥¯¥¨¥¹¥È URL ¤È´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¼¡¤Ë¤½¤Î URL ¤¬¥ê¥¯¥¨¥¹¥È¤µ¤ì¤¿»þ¤Ë¡¢¥­¥ã¥Ã¥·¥å¤Ï
Êݸ¤µ¤ì¤Æ¤¤¤ëɽ¸½¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤·¤«¤·¡¢
¥ê¥½¡¼¥¹¤¬¥µ¡¼¥Ð¤Ç¥Í¥´¥·¥¨¡¼¥·¥ç¥ó²Äǽ¤Ç¤¢¤ì¤Ð¡¢
ºÇ½é¤Î¥ê¥¯¥¨¥¹¥È¤Ç¥­¥ã¥Ã¥·¥å¤µ¤ì¤Æ³¤¯¥­¥ã¥Ã¥·¥å¥Ò¥Ã¥È¤Ç¤Ï
´Ö°ã¤Ã¤¿±þÅú¤òÊÖ¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤«¤Í¤Þ¤»¤ó¡£
¤³¤ì¤òËɤ°¤¿¤á¤Ë¡¢Apache ¤Ï¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î
¸å¤ËÊÖ¤µ¤ì¤¿±þÅúÁ´¤Æ¤Ë¡¢HTTP/1.0 ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï
¥­¥ã¥Ã¥·¥åÉÔ²Äǽ¤Î°õ¤ò¤Ä¤±¤Þ¤¹¡£
¤Þ¤¿¡¢¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤µ¤ì¤¿±þÅú¤Î¥­¥ã¥Ã¥·¥å¤ò²Äǽ¤Ë¤¹¤ë
HTTP/1.1 ¥×¥í¥È¥³¥ë¤Îµ¡Ç½¤â Apache ¤Ï¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£</p>
<p>HTTP/1.0 ½àµò¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤ËÂФ·¤Æ¤Ï¡¢
(¥Ö¥é¥¦¥¶¤Ç¤¢¤í¤¦¤È¥­¥ã¥Ã¥·¥å¤Ç¤¢¤í¤¦¤È)
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¼õ¤±¤¿±þÅú¤Î¥­¥ã¥Ã¥·¥å¤òµö¤¹¤¿¤á¤Ë¡¢
<code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code>
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ÈÍѤǤ­¤Þ¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï¡¢¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ë¤ä¥Ð¡¼¥Á¥ã¥ë¥Û¥¹¥È¤Ë½ñ¤¯¤³¤È¤¬¤Ç¤­¡¢
°ú¿ô¤ò¤È¤ê¤Þ¤»¤ó¡£
HTTP/1.1 ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤Ë¤Ï¸úÎϤò»ý¤Á¤Þ¤»¤ó¡£</p>
<p>HTTP/1.1 ¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤Æ¤Ï¡¢¥ì¥¹¥Ý¥ó¥¹¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¼¡¸µ
¤ò¼¨¤¹¤¿¤á¤Ë <code>Vary</code> HTTP ¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À¤òÁ÷¤ê¤Þ¤¹¡£
¥­¥ã¥Ã¥·¥å¤Ï¡¢¤³¤ì¤ò»È¤Ã¤Æ¸å³¤Î¥ê¥¯¥¨¥¹¥È¤ËÂФ·¤Æ¥í¡¼¥«¥ë¥³¥Ô¡¼¤Ç±þÅú¤Ç¤­¤ë¤«
¤É¤¦¤«¤ò·èÄê¤Ç¤­¤Þ¤¹¡£
¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¼¡¸µ¤È¤Ï´Ø·¸¤Ê¤·¤Ë¥í¡¼¥«¥ë¥³¥Ô¡¼¤Î»ÈÍѤòÍ¥À褹¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢
<code>force-no-vary</code> <a href="env.html#special">´Ä¶­ÊÑ¿ô</a>¤ò
ÀßÄꤷ¤Þ¤¹¡£</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="more" id="more">ÄɲþðÊó</a></h2>
<p>¥³¥ó¥Æ¥ó¥È¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ëÄɲþðÊó¤Ï¡¢
Alan J. Flavell ¤µ¤ó¤Î<a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language
Negotiation Notes</a> ¤ò¤´Í÷²¼¤µ¤¤¡£¤Ç¤¹¤¬¡¢
Apache 2.0 ¤Ç¤ÎÊѹ¹ÅÀ¤ò´Þ¤à¤¿¤á¤Ë¤Ï¹¹¿·¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤
¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./ja/content-negotiation.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="./mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">ÍѸì</a> | <a href="./sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p></div>
</body></html>