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 >> /opt/lampp/manual/ |
files >> //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`