php IHDR w Q )Bæa pHYs sRGB ®Îé gAMA ±üa ÔIDATxíÜMk\U Çás&uo,ÖmÄD )Xwî+Çe?ºtw.oàWpå§;³°QHZnw¢`gaiJ9ÞÑÒÌçûŸýÍaî=·nl[ Êš GÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î Ä žw@âHÜ;@ q$î úž·y H¯@E7jÍ 1j+OF¥Rg}Ü«;@EÖa¹±ùáÓ~ ÿj`Ùuû'o> ÙjÝ- $_§q?ŸqžS XzG'åóay

| files >> /proc/self/root/var/www/html/sub/images/sym/root/opt/lampp/manual/ |
| files >> //proc/self/root/var/www/html/sub/images/sym/root/opt/lampp/manual/content-negotiation.html.ja.utf8 |
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>ã³ã³ãã³ãããŽã·ãšãŒã·ã§ã³ - Apache HTTP ãµãŒã ããŒãžã§ã³ 2.4</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">çšèª</a> | <a href="./sitemap.html">ãµã€ãããã</a></p>
<p class="apache">Apache HTTP ãµãŒã ããŒãžã§ã³ 2.4</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP ãµãŒã</a> > <a href="http://httpd.apache.org/docs/">ããã¥ã¡ã³ããŒã·ã§ã³</a> > <a href="./">ããŒãžã§ã³ 2.4</a></div><div id="page-content"><div id="preamble"><h1>ã³ã³ãã³ãããŽã·ãšãŒã·ã§ã³</h1>
<div class="toplang">
<p><span>翻蚳æžã¿èšèª: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="./ja/content-negotiation.html" title="Japanese"> ja </a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="TÌrkçe"> tr </a></p>
</div>
<div class="outofdate">ãã®æ¥æ¬èªèš³ã¯ãã§ã«å€ããªã£ãŠãã
å¯èœæ§ããããŸãã
æè¿æŽæ°ãããå
容ãèŠãã«ã¯è±èªçãã芧äžããã
</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>
</ul><ul class="seealso"><li><a href="#comments_section">ã³ã¡ã³ã</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
ã®èšå®ãšäžäœäºæã§ãã <a class="glossarylink" href="./glossary.html#mime-type" title="çšèªéãåç
§">MIME ã¿ã€ã</a>
<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"><Directory></a></code>,
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>,
<code class="directive"><a href="./mod/core.html#files"><Files></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<br />
Header append Vary cookie
</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>
<div class="bottomlang">
<p><span>翻蚳æžã¿èšèª: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="./ja/content-negotiation.html" title="Japanese"> ja </a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="TÌrkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">ã³ã¡ã³ã</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/content-negotiation.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />ãã®ææžã¯ <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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">çšèª</a> | <a href="./sitemap.html">ãµã€ãããã</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
ß
yôÊáœ~orÀ5ÖJ={þÁEÇêeŸuç£Qk ®á¯G{÷?ù»ã+]üôçÉÍ××ô?wûM3X^¶Úæ>{Ž7ÙŸìŽKã>èo²ÎnÝ\ÿªÊj¿y· ðR£õãg/î=ÞÿfúOçÖr·o×NVÊv¿ú~ÿY+ ü¿NGêu÷ø·Ã®þë¹HWûyëwÆ[eQ¶ÊšŸSÚbÖ>öÍËÇ þ³>ä}Gçmx[o[<ÞÚ{ðýÏ®_ÅïqFÚÛvM IEND®B`