遠隔変種選択アルゴリズム

遠隔変種選択アルゴリズム

[1] RVSA (遠隔異体選択アルゴリズム) は、透過内容折衝において利用者エージェントに代わって最善の異体を選択する標準化されたアルゴリズムです >>7, >>8

仕様書

版番号

[12] RVSA のアルゴリズムは番号によって区別されることとなっています。 版番号は1桁から4桁のASCII数字列2つを . で区切ったものとされています。

  1. 1-4 ASCII数字
  2. .
  3. 1-4 ASCII数字

[13] 数字列の解釈方法は明記されていません。先導0や末尾の0の有無が等価性に影響を与えるのかどうか不明です。

[18] 最初の番号が同じ場合、最後の番号が 0 より大きいなら、 0 の場合のアルゴリズム下方互換でなければなりません。ここで下方互換とは、同じ入力に対して同じ、またはより良い結果を返すことを言います。 >>8

[14] 版番号は次の場面で使われます。

[20] Negotiate: ヘッダー指令として指定された場合、 起源鯖遠隔異体選択アルゴリズムを実行することを認めることを表します。 この場合、指定された版か、指定されたのと1つ目の番号が同じで、 2つ目の番号がより大きな版が認められたこととなります。 >>19

[21] 起源鯖は、 Negotiate: ヘッダーに版番号が指定され、最善の異体である隣接異体を選ぶのに十分な情報があれば、 これを選択応答として返すことができます。 >>19

[22] Negotiate: ヘッダーに版番号が指定された場合、 trans を暗示します >>19

[23] なおによる実行は proxy-rvsa により制限されることがあります。

RVSA/1.0

[9] RVSA/1.0RFC 2296 で規定されています >>2

[10] 版番号は 1.0 とされています >>2

[25] RVSA/1.0 は特定の透過的折衝可能資源への要求に対して実行され、 次の入力を持ちます >>2

[28] ここで、 Alternates: ヘッダーにフォールバックがあれば、 品質値が 0.000001 で異体属性なしの異体説明とみなします >>2

[29] RVSA/1.0最善の異体を決定するか、リスト応答を返すかを出力します。 最善の異体が決まる場合には選択応答を返すことができますが、 透過内容折衝では常にリスト応答を返すことが認められているので、 RVSA/1.0 を部分的に実装してリスト応答を返すこともできます。 >>2

  1. [30] 異体リストの各異体について、品質値を計算します。 これは、異体説明品質値と、 各 Accept-ヘッダー群から相当する異体属性の値に対する品質値を求めたものをすべて掛け合わせて、 得られた浮動小数点数小数点以下5桁までに丸めたものです。
  2. [31] ここで Accept-ヘッダー群で欠落しているものがあったか、 * と一致したことによって値が決定されたなら、 品質値は不確定的とし、そうでなければ確定的とします。
  3. [32] 品質値が最高で最初の異体最善の異体とします。
  4. [33] 最善の異体品質値で、確定的であり、 かつ隣接異体なら、この最善の異体選択応答を返します。
  5. [34] それ以外なら、リスト応答を返します。

Apache の RVSA

[4] ApacheRVSAの実装では、 RFC と次のような違いがあります >>3

文脈

[15] 遠隔異体選択アルゴリズム透過内容折衝に対応した起源鯖で使われます。

[17] は、未知の異体属性異体リストに含まれていれば、 遠隔異体選択アルゴリズムを実行してはなりません >>16

関連

[24] 遠隔異体選択アルゴリズム起源鯖で実行されるのに対し、 局所異体選択アルゴリズム利用者エージェントで実行されます。