[1] RVSA (遠隔異体選択アルゴリズム) は、透過内容折衝において利用者エージェントに代わって鯖が最善の異体を選択する標準化されたアルゴリズムです >>7, >>8。
[12] RVSA のアルゴリズムは版番号によって区別されることとなっています。
[38]
版番号は、
1桁から4桁のASCII数字列2つを .
で区切ったものとされています。
[13] 数字列の解釈方法は明記されていません。先導0や末尾の0の有無が等価性に影響を与えるのかどうか不明です。
[18] 最初の番号が同じ場合、最後の番号が 0 より大きいなら、 0 の場合のアルゴリズムと下方互換でなければなりません。ここで下方互換とは、同じ入力に対して同じ、またはより良い結果を返すことを言います。 >>8
[14] 版番号は次の場面で使われます。
[20] Negotiate:
ヘッダーの指令として指定された場合、
起源鯖や串が遠隔異体選択アルゴリズムを実行することを認めることを表します。
この場合、指定された版か、指定されたのと1つ目の番号が同じで、
2つ目の番号がより大きな版が認められたこととなります。 >>19
[21] 起源鯖や串は、 Negotiate:
ヘッダーに版番号が指定され、最善の異体である隣接異体を選ぶのに十分な情報があれば、
これを選択応答として返すことができます。 >>19
[22] Negotiate:
ヘッダーに版番号が指定された場合、
trans
を暗示します >>19。
[9] RVSA/1.0 は RFC 2296 で規定されています >>2。
[25] RVSA/1.0 は特定の透過的折衝可能資源への要求に対して実行され、
次の入力を持ちます >>2。Alternates:
ヘッダーで指定される異体リスト
[28] ここで、 Alternates:
ヘッダーにフォールバックがあれば、
品質値が 0.000001 で異体属性なしの異体説明とみなします >>2。
[29] RVSA/1.0 は最善の異体を決定するか、リスト応答を返すかを出力します。 最善の異体が決まる場合には選択応答を返すことができますが、 透過内容折衝では常にリスト応答を返すことが認められているので、 RVSA/1.0 を部分的に実装してリスト応答を返すこともできます。 >>2
*
と一致したことによって値が決定されたなら、
品質値は不確定的とし、そうでなければ確定的とします。[4] ApacheのRVSAの実装では、 RFC と次のような違いがあります >>3。Accept-Encoding
(Content-Encoding
) も選択の対象に含まれています。
[15] 遠隔異体選択アルゴリズムは透過内容折衝に対応した串や起源鯖で使われます。
[17] 串は、未知の異体属性が異体リストに含まれていれば、 遠隔異体選択アルゴリズムを実行してはなりません >>16。
[24] 遠隔異体選択アルゴリズムが起源鯖や串で実行されるのに対し、 局所異体選択アルゴリズムは利用者エージェントで実行されます。
- remote variant selection algorithm
- A standardized algorithm by which a server can sometimes choose a best variant on behalf of a negotiating user agent. The algorithm typically computes whether the Accept- headers in the request contain sufficient information to allow a choice, and if so, which variant is the best variant. The use of a remote algorithm can speed up the negotiation process.
A remote variant selection algorithm is a standardized algorithm by which a server can choose a best variant on behalf of a negotiating user agent. The use of a remote algorithm can speed up the negotiation process by eliminating a request-response round trip.
A remote algorithm typically computes whether the Accept- headers in the request contain sufficient information to allow a choice, and if so, which variant is the best variant. This specification does not define any remote algorithms, but does define a mechanism to negotiate on the use of such algorithms.
A version numbering scheme is used to distinguish between different remote variant selection algorithms.
版番号付け方式は異なる遠隔変種選択算法同士を区別するのに使います。
- rvsa-version = major "." minor
- major = 1*4DIGIT
- minor = 1*4DIGIT
An algorithm with the version number X.Y, with Y>0, MUST be downwards compatible with all algorithms from X.0 up to X.Y. Downwards compatibility means that, if supplied with the same information, the newer algorithm MUST make the same choice, or a better choice, as the old algorithm. There are no compatibility requirements between algorithms with different major version numbers.
版番号 X.y (Y > 0
)
の算法は X.0 から X.Y
までのすべての算法と互換でなければなりません。
下方互換性とは、同じ情報が供給された場合、新しい方の算法は古い算法と同じ選択かより良い選択を行わなければならないことを意味します。
異なる大版番号の算法間での互換性はありません。
proxy-rvsa
により制限されることがあります。