Apache モジュール mod_negotiation
ハンドラで扱われるファイル)。これは variants を含んでいるファイルを明示的に指定します。MultiViews
で有効になります)。 サーバが暗黙の内にファイル名のパターンマッチを行ない、 その結果から選択します。タイプマップは RFC 822 のメールヘッダに類似した書式です。 ドキュメントの記述が空行で分離されて書かれていて、ハッシュ文字 ('#') で始まる行はコメントとして扱われます。 ドキュメントの説明は複数のヘッダレコードから構成されます。 レコードは、続きの行が空白で始まっていると複数の行にまたがります。 最初の空白が消去されて、前の行とつなげて 1 行として扱われます。 ヘッダレコードはキーワード名の後に値が続くという形式で、 キーワード名は常にコロンで終わります。空白はヘッダ名と値の間、 値のトークンの間に入れることができます。 使用可能なヘッダは以下のとおりです:
ディレクティブ で定義されたエンコーディングだけを認識します。通常 compress されたファイルのための x-compress
と gzip されたファイルのための x-gzip
を含みます。 エンコーディングの比較をするときは、接頭辞 x-
は英語を表します。 複数の言語が格納される場合はコンマで区切られます。Content-Length:
で、メディアタイプや他のパラメータとはセミコロンで分離されます。 共通のパラメータは以下のとおり: level
では 2 がデフォルトで、その他の場合は 0 がデフォルトです。qs
はリソース毎に特有の値を取ります。 Content-Type: image/jpeg; qs=0.8
Content of the page.
ファイルを選択する際に、関連するコンテントネゴシエーションの メタ情報を持たないファイルについて、判定を行うかどうかを
このディレクティブは HTTP/1.0 ブラウザからのリクエスト のみに適用されます。HTTP/1.1 は、 交渉されたドキュメントのキャッシュに対してずっとよい制御が可能なので、 このディレクティブは HTTP/1.1 のリクエストには影響しません。
は引数を取らず、 ディレクティブが存在することで on の動作をしていました。
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
は、同等の選択肢が いくつかあるときに、HTTP の 300 (MULTIPLE CHOICES) を返す代わりに、 LanguagePriority
を使って一つだけドキュメントを返すように します。以下のディレクティブが指定されていて、ユーザの Accept-Language
(同じくらい許容) であるときは、 最初にマッチする variant の en
LanguagePriority en fr de
では、HTTP 406 (NOT ACCEPTABLE) を送信する代わりに、
が正しい結果を送ります。 以下のディレクティブが指定されていて、ユーザの LanguagePriorityAccept-Language
言語のみを許可していて、さらにそのような variant がないときには、 以下の
のリストの最初の variant が送られます。LanguagePriority
の両方のオプションを 同時に指定することができます。 ですから、複数の variant があるときは
の最初の variant が送られ、クライアントの許容言語に合う vaiant がないときは 存在するドキュメントで最初のものが送られる、という様にすることができます。LanguagePriority
が両方存在し、 ブラウザが言語の優先順位を提供してない場合は foo.html.fr
モジュール | ディレクティブ | FAQ | 用語 | サイトマップ
Apache HTTP サーバ バージョン 2.4
Apache モジュール mod_negotiation
コンテントネゴシエーション、より正確にはコンテンツの選択機能は、 複数用意されているドキュメントから、クライアントの能力に一番合った ドキュメントを選択する機能です。この実装は二つあります。
タイプマップ
タイプマップは RFC 822 のメールヘッダに類似した書式です。 ドキュメントの記述が空行で分離されて書かれていて、ハッシュ文字 ('#') で始まる行はコメントとして扱われます。 ドキュメントの説明は複数のヘッダレコードから構成されます。 レコードは、続きの行が空白で始まっていると複数の行にまたがります。 最初の空白が消去されて、前の行とつなげて 1 行として扱われます。 ヘッダレコードはキーワード名の後に値が続くという形式で、 キーワード名は常にコロンで終わります。空白はヘッダ名と値の間、 値のトークンの間に入れることができます。 使用可能なヘッダは以下のとおりです:
MultiViews
MultiViews 探索は、Multiviews Options ディレクティブにより有効になります。 サーバが /some/dir/foo へのリクエストを受け取り、/some/dir/foo が存在 しない場合、サーバはディレクトリを読んで、 foo.* にあてはまる全てのファイルを探し、 事実上それらのファイルをマップするタイプマップを作ります。 そのとき、メディアタイプとコンテントエンコーディングは、 そのファイル名を直接指定したときと同じものが割り当てられます。 それからクライアントの要求に一番合うものを選び、 そのドキュメントを返します。
CacheNegotiatedDocs ディレクティブ
このディレクティブが設定されていると、コンテントネゴシエーション をした結果のドキュメントのキャッシュを許可します。 これは、プロキシの後ろにいるクライアントが能力に一番合った ドキュメントではなく、 キャッシュをより効果的にするものを得る可能性があるということです。
ForceLanguagePriority ディレクティブ
ForceLanguagePriority ディレクティブは 要求に合うドキュメントを一つだけ返すことができないときに、 LanguagePriority ディレクティブを使ってネゴシエーションの結果を返します。
LanguagePriority ディレクティブ
LanguagePriority は、MultiViews リクエストを扱うときに、クライアントが優先順位を提供していない場合の 言語の優先順位を設定します。MIME-lang のリストが優先度の降順に並びます。