1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" lang=
"ja" xml:
lang=
"ja"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_negotiation - Apache HTTP サーバ
</title>
9 <link href=
"../style/css/manual.css" rel=
"stylesheet" media=
"all" type=
"text/css" title=
"Main stylesheet" />
10 <link href=
"../style/css/manual-loose-100pc.css" rel=
"alternate stylesheet" media=
"all" type=
"text/css" title=
"No Sidebar - Default font size" />
11 <link href=
"../style/css/manual-print.css" rel=
"stylesheet" media=
"print" type=
"text/css" />
12 <link href=
"../images/favicon.ico" rel=
"shortcut icon" /></head>
14 <div id=
"page-header">
15 <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>
16 <p class=
"apache">Apache HTTP サーバ バージョン
2.3</p>
17 <img alt=
"" src=
"../images/feather.gif" /></div>
18 <div class=
"up"><a href=
"./"><img title=
"<-" alt=
"<-" src=
"../images/left.gif" /></a></div>
20 <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=
"../">バージョン
21 2.3</a> > <a href=
"./">モジュール
</a></div>
22 <div id=
"page-content">
23 <div id=
"preamble"><h1>Apache モジュール mod_negotiation
</h1>
25 <p><span>言語:
</span><a href=
"../en/mod/mod_negotiation.html" hreflang=
"en" rel=
"alternate" title=
"English"> en
</a> |
26 <a href=
"../ja/mod/mod_negotiation.html" title=
"Japanese"> ja
</a></p>
28 <table class=
"module"><tr><th><a href=
"module-dict.html#Description">説明:
</a></th><td><a href=
"../content-negotiation.html">コンテントネゴシエーション
</a>
30 <tr><th><a href=
"module-dict.html#Status">ステータス:
</a></th><td>Base
</td></tr>
31 <tr><th><a href=
"module-dict.html#ModuleIdentifier">モジュール識別子:
</a></th><td>negotiation_module
</td></tr>
32 <tr><th><a href=
"module-dict.html#SourceFile">ソースファイル:
</a></th><td>mod_negotiation.c
</td></tr></table>
35 <p>コンテントネゴシエーション、より正確にはコンテンツの選択機能は、
36 複数用意されているドキュメントから、クライアントの能力に一番合った
37 ドキュメントを選択する機能です。この実装は二つあります。
</p>
40 <li>タイプマップ (
<code>type-map
</code>
41 ハンドラで扱われるファイル)。これは variants
42 を含んでいるファイルを明示的に指定します。
</li>
44 <li>MultiViews の探索 (
<code>MultiViews
</code> <code class=
"directive"><a href=
"../mod/core.html#option">Option
</a></code> で有効になります)。
45 サーバが暗黙の内にファイル名のパターンマッチを行ない、
49 <div id=
"quickview"><h3 class=
"directives">ディレクティブ
</h3>
51 <li><img alt=
"" src=
"../images/down.gif" /> <a href=
"#cachenegotiateddocs">CacheNegotiatedDocs
</a></li>
52 <li><img alt=
"" src=
"../images/down.gif" /> <a href=
"#forcelanguagepriority">ForceLanguagePriority
</a></li>
53 <li><img alt=
"" src=
"../images/down.gif" /> <a href=
"#languagepriority">LanguagePriority
</a></li>
57 <li><img alt=
"" src=
"../images/down.gif" /> <a href=
"#typemaps">タイプマップ
</a></li>
58 <li><img alt=
"" src=
"../images/down.gif" /> <a href=
"#multiviews">MultiViews
</a></li>
61 <li><code class=
"directive"><a href=
"../mod/core.html#options">Options
</a></code></li>
62 <li><code class=
"module"><a href=
"../mod/mod_mime.html">mod_mime
</a></code></li>
63 <li><a href=
"../content-negotiation.html">コンテントネゴシエーション
</a></li>
64 <li><a href=
"../env.html">環境変数
</a></li>
66 <div class=
"top"><a href=
"#page-header"><img alt=
"top" src=
"../images/up.gif" /></a></div>
68 <h2><a name=
"typemaps" id=
"typemaps">タイプマップ
</a></h2>
69 <p>タイプマップは RFC
822 のメールヘッダに類似した書式です。
70 ドキュメントの記述が空行で分離されて書かれていて、ハッシュ文字
71 ('#') で始まる行はコメントとして扱われます。
72 ドキュメントの説明は複数のヘッダレコードから構成されます。
73 レコードは、続きの行が空白で始まっていると複数の行にまたがります。
74 最初の空白が消去されて、前の行とつなげて
1 行として扱われます。
75 ヘッダレコードはキーワード名の後に値が続くという形式で、
76 キーワード名は常にコロンで終わります。空白はヘッダ名と値の間、
78 使用可能なヘッダは以下のとおりです:
</p>
81 <dt><code>Content-Encoding:
</code></dt>
82 <dd>ファイルのエンコーディング。Apache は
<code class=
"directive"><a href=
"../mod/mod_mime.html#addencoding">AddEncoding
</a></code> ディレクティブ
83 で定義されたエンコーディングだけを認識します。通常 compress
84 されたファイルのための
<code>x-compress
</code> と gzip
85 されたファイルのための
<code>x-gzip
</code> を含みます。
86 エンコーディングの比較をするときは、接頭辞
<code>x-
</code>
89 <dt><code>Content-Language:
</code></dt>
91 (
<a href=
"http://www.ietf.org/rfc/rfc1766.txt">RFC
1766</a>)
92 で定義されている言語の種類。例えば、
<code>en
</code>
94 複数の言語が格納される場合はコンマで区切られます。
</dd>
96 <dt><code>Content-Length:
</code></dt>
98 このヘッダがない場合、ファイルの実際の長さが使用されます。
</dd>
100 <dt><code>Content-Type:
</code></dt>
101 <dd>ドキュメントの
<a class=
"glossarylink" href=
"../glossary.html#mime-type" title=
"用語集を参照">MIME
102 メディアタイプ
</a>、オプショナルなパラメータ付き。パラメータの構文は
103 <code>name=value
</code>
104 で、メディアタイプや他のパラメータとはセミコロンで分離されます。
108 <dt><code>level
</code></dt>
109 <dd>メディアタイプのバージョンを示す整数。
110 <code>text/html
</code> では
2 がデフォルトで、その他の場合は
113 <dt><code>qs
</code></dt>
114 <dd>クライアントの能力に関係なく、variant
115 を他と比較したときの相対的な「品質」で、
0.0 から
1.0
117 例えば、写真を表現しようとしているときは普通は JPEG
118 ファイルの方が ASCII ファイルよりも高い品質になります。
119 しかし、リソースが ASCII アートで表現されているときは、ASCII
121 ファイルよりも高い品質になります。このように、
<code>qs
</code>
126 <div class=
"example"><h3>例
</h3><p><code>
127 Content-Type: image/jpeg; qs=
0.8
131 <dt><code>URI:
</code></dt>
132 <dd>(指定のメディアタイプ、コンテントエンコーディングの) variant の
133 ファイルの uri. これは、マップファイルからの相対 URL として
134 解釈されます。同じサーバに存在しなければならず、クライアントが
135 直接リクエストしたときにアクセスを許可されるものでなければなりません。
</dd>
137 <dt><code>Body:
</code></dt>
138 <dd>Apache
2.0 で新設されたこの Body ヘッダを使って、
139 リソースの実際の内容をタイプマップファイルに書くことができます。
140 このヘッダは本文の内容の区切りとなる文字列で始まる必要があります。
141 タイプマップファイルの続く行は、区切り文字列が見つかるまで、
144 <div class=
"example"><h3>Example:
</h3><p><code>
145 Body:----xyz----
<br />
148 <p
>Content of the page.
</p
><br />
155 </div><div class=
"top"><a href=
"#page-header"><img alt=
"top" src=
"../images/up.gif" /></a></div>
156 <div class=
"section">
157 <h2><a name=
"multiviews" id=
"multiviews">MultiViews
</a></h2>
158 <p>MultiViews 探索は、
<code>Multiviews
</code> <code class=
"directive"><a href=
"../mod/core.html#options">Options
</a></code> ディレクティブにより有効になります。
159 サーバが
<code>/some/dir/foo
</code>
160 へのリクエストを受け取り、
<code>/some/dir/foo
</code> が存在
161 <em>しない
</em>場合、サーバはディレクトリを読んで、
162 <code>foo.*
</code> にあてはまる全てのファイルを探し、
163 事実上それらのファイルをマップするタイプマップを作ります。
164 そのとき、メディアタイプとコンテントエンコーディングは、
165 そのファイル名を直接指定したときと同じものが割り当てられます。
166 それからクライアントの要求に一番合うものを選び、
169 <p>ファイルを選択する際に、関連するコンテントネゴシエーションの
170 メタ情報を持たないファイルについて、判定を行うかどうかを
171 <code class=
"directive"><a href=
"../mod/mod_mime.html#multiviewsmatch">MultiViewsMatch
</a></code>
174 <div class=
"top"><a href=
"#page-header"><img alt=
"top" src=
"../images/up.gif" /></a></div>
175 <div class=
"directive-section"><h2><a name=
"CacheNegotiatedDocs" id=
"CacheNegotiatedDocs">CacheNegotiatedDocs
</a> <a name=
"cachenegotiateddocs" id=
"cachenegotiateddocs">ディレクティブ
</a></h2>
176 <table class=
"directive">
177 <tr><th><a href=
"directive-dict.html#Description">説明:
</a></th><td>コンテントネゴシエーションされたドキュメントをプロキシサーバが
178 キャッシュできるようにする
</td></tr>
179 <tr><th><a href=
"directive-dict.html#Syntax">構文:
</a></th><td><code>CacheNegotiatedDocs On|Off
</code></td></tr>
180 <tr><th><a href=
"directive-dict.html#Default">デフォルト:
</a></th><td><code>CacheNegotiatedDocs Off
</code></td></tr>
181 <tr><th><a href=
"directive-dict.html#Context">コンテキスト:
</a></th><td>サーバ設定ファイル, バーチャルホスト
</td></tr>
182 <tr><th><a href=
"directive-dict.html#Status">ステータス:
</a></th><td>Base
</td></tr>
183 <tr><th><a href=
"directive-dict.html#Module">モジュール:
</a></th><td>mod_negotiation
</td></tr>
184 <tr><th><a href=
"directive-dict.html#Compatibility">互換性:
</a></th><td>バージョン
2.0で構文が変わりました
</td></tr>
186 <p>このディレクティブが設定されていると、コンテントネゴシエーション
187 をした結果のドキュメントのキャッシュを許可します。
188 これは、プロキシの後ろにいるクライアントが能力に一番合った
190 キャッシュをより効果的にするものを得る可能性があるということです。
</p>
192 <p>このディレクティブは HTTP/
1.0 ブラウザからのリクエスト
193 のみに適用されます。HTTP/
1.1 は、
194 交渉されたドキュメントのキャッシュに対してずっとよい制御が可能なので、
195 このディレクティブは HTTP/
1.1 のリクエストには影響しません。
</p>
197 <code class=
"directive">CacheNegotiatedDocs
</code> は引数を取らず、
198 ディレクティブが存在することで on の動作をしていました。
</p>
201 <div class=
"top"><a href=
"#page-header"><img alt=
"top" src=
"../images/up.gif" /></a></div>
202 <div class=
"directive-section"><h2><a name=
"ForceLanguagePriority" id=
"ForceLanguagePriority">ForceLanguagePriority
</a> <a name=
"forcelanguagepriority" id=
"forcelanguagepriority">ディレクティブ
</a></h2>
203 <table class=
"directive">
204 <tr><th><a href=
"directive-dict.html#Description">説明:
</a></th><td>要求に合う単独のドキュメントが見つからなかったときに行なうことを指定
206 <tr><th><a href=
"directive-dict.html#Syntax">構文:
</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
</code></td></tr>
207 <tr><th><a href=
"directive-dict.html#Default">デフォルト:
</a></th><td><code>ForceLanguagePriority Prefer
</code></td></tr>
208 <tr><th><a href=
"directive-dict.html#Context">コンテキスト:
</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
</td></tr>
209 <tr><th><a href=
"directive-dict.html#Override">上書き:
</a></th><td>FileInfo
</td></tr>
210 <tr><th><a href=
"directive-dict.html#Status">ステータス:
</a></th><td>Base
</td></tr>
211 <tr><th><a href=
"directive-dict.html#Module">モジュール:
</a></th><td>mod_negotiation
</td></tr>
212 <tr><th><a href=
"directive-dict.html#Compatibility">互換性:
</a></th><td>バージョン
2.0.30 以降で使用可能
</td></tr>
214 <p><code class=
"directive">ForceLanguagePriority
</code> ディレクティブは
215 要求に合うドキュメントを一つだけ返すことができないときに、
216 <code class=
"directive"><a href=
"#languagepriority">LanguagePriority
</a></code>
217 ディレクティブを使ってネゴシエーションの結果を返します。
</p>
219 <p><code>ForceLanguagePriority Prefer
</code> は、同等の選択肢が
220 いくつかあるときに、HTTP の
300 (MULTIPLE CHOICES) を返す代わりに、
221 <code>LanguagePriority
</code> を使って一つだけドキュメントを返すように
222 します。以下のディレクティブが指定されていて、ユーザの
<code>Accept-Language
</code>
223 ヘッダでは
<code>en
</code> と
<code>de
</code> の品質が共に
224 <code>.500</code> (同じくらい許容) であるときは、
225 最初にマッチする variant の
<code>en
</code> が送られます。
</p>
227 <div class=
"example"><p><code>
228 LanguagePriority en fr de
<br />
229 ForceLanguagePriority Prefer
232 <p><code>ForceLanguagePriority Fallback
</code> では、HTTP
406
233 (NOT ACCEPTABLE) を送信する代わりに、
234 <code class=
"directive"><a href=
"#languagepriority">LanguagePriority
</a></code>
236 以下のディレクティブが指定されていて、ユーザの
<code>Accept-Language
</code>
237 が
<code>es
</code> 言語のみを許可していて、さらにそのような variant がないときには、
238 以下の
<code class=
"directive"><a href=
"#languagepriority">LanguagePriority
</a></code>
239 のリストの最初の variant が送れれます。
</p>
241 <div class=
"example"><p><code>
242 LanguagePriority en fr de
<br />
243 ForceLanguagePriority Fallback
246 <p><code>Prefer
</code> と
<code>Fallback
</code> の両方のオプションを
248 ですから、複数の variant があるときは
249 <code class=
"directive"><a href=
"#languagepriority">LanguagePriority
</a></code> の最初の
250 variant が送られ、クライアントの許容言語に合う vaiant がないときは
251 存在するドキュメントで最初のものが送られる、という様にすることができます。
</p>
255 <li><code class=
"directive"><a href=
"../mod/mod_mime.html#addlanguage">AddLanguage
</a></code></li>
258 <div class=
"top"><a href=
"#page-header"><img alt=
"top" src=
"../images/up.gif" /></a></div>
259 <div class=
"directive-section"><h2><a name=
"LanguagePriority" id=
"LanguagePriority">LanguagePriority
</a> <a name=
"languagepriority" id=
"languagepriority">ディレクティブ
</a></h2>
260 <table class=
"directive">
261 <tr><th><a href=
"directive-dict.html#Description">説明:
</a></th><td>クライアントが優先度を示さなかったときの言語の variant の優先度を
263 <tr><th><a href=
"directive-dict.html#Syntax">構文:
</a></th><td><code>LanguagePriority
<var>MIME-lang
</var> [
<var>MIME-lang
</var>]
265 <tr><th><a href=
"directive-dict.html#Context">コンテキスト:
</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
</td></tr>
266 <tr><th><a href=
"directive-dict.html#Override">上書き:
</a></th><td>FileInfo
</td></tr>
267 <tr><th><a href=
"directive-dict.html#Status">ステータス:
</a></th><td>Base
</td></tr>
268 <tr><th><a href=
"directive-dict.html#Module">モジュール:
</a></th><td>mod_negotiation
</td></tr>
270 <p><code class=
"directive">LanguagePriority
</code> は、MultiViews
271 リクエストを扱うときに、クライアントが優先順位を提供していない場合の
272 言語の優先順位を設定します。
<var>MIME-lang
</var>
273 のリストが優先度の降順に並びます。
</p>
275 <div class=
"example"><h3>Example:
</h3><p><code>
276 LanguagePriority en fr de
279 <p><code>foo.html
</code> がリクエストされ、
<code>foo.html.fr
</code>
280 と
<code>foo.html.de
</code> が両方存在し、
281 ブラウザが言語の優先順位を提供してない場合は
282 <code>foo.html.fr
</code> が返されます。
</p>
284 <p>このディレクティブは他の方法で「最善」
285 の言語が決定できないときか、
<code class=
"directive"><a href=
"#forcelanguagepriority">ForceLanguagePriority
</a></code> ディレクティブが
286 <code>None
</code> 以外のときにのみ効果があることに注意してください。
287 一般的には、サーバ側ではなくクライアント側で好みの言語を決定します。
</p>
291 <li><code class=
"directive"><a href=
"../mod/mod_mime.html#addlanguage">AddLanguage
</a></code></li>
295 <div class=
"bottomlang">
296 <p><span>言語:
</span><a href=
"../en/mod/mod_negotiation.html" hreflang=
"en" rel=
"alternate" title=
"English"> en
</a> |
297 <a href=
"../ja/mod/mod_negotiation.html" title=
"Japanese"> ja
</a></p>
298 </div><div id=
"footer">
299 <p class=
"apache">Copyright
2009 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>
300 <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>