[4] HTTP の Negotiate: ヘッダーは、 当該要求によって開始される内容折衝に関する指示を含めるものです。
Negotiate:
[10] Negotiate: ヘッダーは、当該要求によって開始する内容折衝手続きについての指令を表します >>9。
[11] Negotiate: ヘッダーの値は、1つ以上の指令のリスト (#) です >>9。
#
,
[12] 指令は、字句か、* か、RVSA の版か、 字句2つを = で連ねたものです >>9。
*
=
[18] 利用者エージェントが要求に指定できます。 利用者エージェントが透過内容折衝に対応することを示す Negotiate: ヘッダーを含めることが透過内容折衝への「対応」 の定義となっています >>22。
[19] このヘッダーは複数指定できます。
[14] 次の指令があります。transvlistguess-small1.0*
trans
vlist
guess-small
1.0
[15] 値を取る構文を使っているものは現時点ではありません。いずれも指令の名前のみ指定します。
[16] 鯖は理解できない指令を無視するべきです >>9。
[20] IANA登録簿は無いようです。
Negotiate: *
[23] * は、起源鯖や串が任意の遠隔異体選択アルゴリズムを実行して良いことを表します。標準化されていない遠隔異体選択アルゴリズムを使っても構いません。 >>9
[24] 最善の異体である隣接異体を選ぶのに十分な情報があれば、 起源鯖や串がその異体で選択応答を返しても構いません。 >>9
proxy-rvsa
[25] Negotiate: * は trans を暗示します >>9。
[21] 透過的折衝可能資源が Negotiate: ヘッダーを指定された時の動作は、 透過的折衝可能資源、鯖側上書きを参照。
[17] 鯖は複数の対応している RVSA の版が指定された時は、 何らかの内部的な決定方法で選ぶべきです >>9。
[2] RFC 2295 (HTTP 透過内容折衝) 8.4 Negotiate
The Negotiate request header can contain directives for any content negotiation process initiated by the request.
Negotiate = "Negotiate" ":" 1#negotiate-directive negotiate-directive = "trans" | "vlist" | "guess-small" | rvsa-version | "*" | negotiate-extensionnegotiate-extension = token [ "=" token ]
negotiate-directive = "trans" | "vlist" | "guess-small" | rvsa-version | "*" | negotiate-extension
Examples areNegotiate: 1.0, 2.5Negotiate: *
Examples are
The negotiate directives have the following meaning"trans" The user agent supports transparent content negotiation for the current request."vlist" The user agent requests that any transparently negotiated response for the current request includes an Alternates header with the variant list bound to the negotiable resource. Implies "trans"."guess-small" The user agent allows origin servers to run a custom algorithm which guesses the best variant for the request, and to return this variant in a choice response, if the resulting choice response is smaller than or not much larger than a list response. The definition of `not much larger' is left to origin server heuristics. Implies "vlist" and "trans".rvsa-version The user agent allows origin servers and proxies to run the remote variant selection algorithm with the indicated version number, or with the same major version number and a higher minor version number. If the algorithm has sufficient information to choose a best, neighboring variant, the origin server or proxy MAY return a choice response with this variant. Implies "trans"."*" The user agent allows origin servers and proxies to run any remote variant selection algorithm. The origin server may even run algorithms which have not been standardized. If the algorithm has sufficient information to choose a best, neighboring variant, the origin server or proxy MAY return a choice response with this variant. Implies "trans".
The negotiate directives have the following meaning
Alternates
Servers SHOULD ignore all negotiate-directives they do not understand. If the Negotiate header allows a choice between multiple remote variant selection algorithms which are all supported by the server, the server SHOULD use some internal precedence heuristics to select the best algorithm.
[8] RFC 4229 は RFC 2295 を出典に状態「実験的」で IANA登録簿に登録しています >>7。
[3] auth-scheme の Negotiate とは関係ありません。
auth-scheme
Negotiate
[1] 要求に対して鯖が内容折衝を行い、1つの表現を返す場合の応答中の Vary 欄の例:
Vary
Vary: negotiate, Accept-Language
この例では要求の Negotiate 欄と Accept-Language 欄を使って表現を選択したことを表しています。 なお、要求に実際には Negotiate 欄が含まれていなくても、透過内容折衝が行われたことを示すために Vary 欄に Negotiate という値を含めます。
Accept-Language
[5] 2.2.3 The WWW-Authorization Request Header ( (2014-10-22 14:50:31 +09:00 版)) <http://msdn.microsoft.com/en-us/library/dd358276.aspx>
[6] SharePoint の内部: SharePoint での認証に Kerberos を使用する - TechNet Magazine 2010 年 1 月号 ( (2014-10-22 14:59:33 +09:00 版)) <http://technet.microsoft.com/ja-jp/magazine/ee914605.aspx>