[1] q
引数 (品質値) は、
内容折衝等において選択肢の優先(希望)度を表す小数値です。
[7] HTTP の最新仕様である RFC 7231 では、小数値のことを品質値
(qvalue)、それを値として持つ q
引数全体のことを「重み」
(weight) と呼んでいます。
[15] ただし、なぜか TE:
ヘッダーでだけは小数値のことを
「階数」 (rank)、 q
引数全体のことを t-ranking
と呼んでいます。
[11] TE:
ヘッダーの q
引数は、転送符号化の名前と引数の後に1つだけ指定できます >>9。
[18] Accept:
ヘッダーの q
引数は、媒体範囲の後に1つだけ指定できます。 q
引数の後の引数は、媒体範囲に属するものではなく、 Accept:
の引数とみなされます。
[19] Accept-Charset:
ヘッダーの q
引数は、文字コード範囲の後に1つだけ指定できます。
[20] Accept-Encoding:
ヘッダーの q
引数は、内容符号化の名前の後に1つだけ指定できます。
[21] Accept-Language:
ヘッダーの q
引数は、言語範囲の後に1つだけ指定できます。
[22] これらいずれのヘッダーも、リスト (#
) であり、
複数の値を指定することができます。 q
は、
そのそれぞれの値に対する引数として記述できるものです。
TE:
と Accept:
では q
より前に引数を指定することができ、それらは q
引数の指定対象である値の一部分と解釈されます。
Accept:
では q
引数より後に引数を指定することができ、それらは q
引数と同様に値に関するオプションと解釈されます。
これら以外では、 q
以外の引数は認められていません。
[10] ;
、q=
、値の順に記述します。ただし
;
の前後には OWS を置けます。また q
は大文字でも構いません。 >>9, >>17
[12] 値は、0以上1以下の十進数を表すASCII数字の列です。
ただし小数点は .
で表し、整数部は1桁、小数部は最大3桁とします。
整数のみや、整数と小数点のみの表記も認められています。 >>9, >>17
[14] 送信者は、受け入れられるものが複数ある時に、
q
引数によって優先度を指定することができます。
1 が最も好ましいことを表し、 0.001 が最も好ましくないことを表します >>9, >>17。
0 は受け入れられないことを表します >>9, >>17。
[25] 値 0 は、その指定対象の値が受け入れられないオプションであることを表しています。
[26] ただし、それが意図通り解釈されるかどうかは不明瞭です。 q
を無視するナイーブな実装では、逆に受け入れられるオプションの一つとして解釈されてしまいます。
[27] 複数のオプションが指定されていて、それらの q
が同値であるとき、どう解釈するべきなのかは不明です。
[28] 電子メールの Accept-Language:
ヘッダーでは、
出現順を優先順位と考えるような言及があります。
[29] 異体説明で使われる原始品質 >>28 は HTTP 本体のq値に相当するものです。構文も意味も似ていますが、 要求で要求度を示すのではなく、応答で完全度を示すために使われます。
[31] 原始品質は、当該異体に関する折衝可能資源の表現としての品質を表します。 これは当該異体を可能な最高の出力媒体に完璧なレンダリングエンジンでレンダリングした時の値です。言語の翻訳やMIME型の表現能力の品質も表します。 >>28
[32] 構文としては q
引数の値と同じものを採用しています >>28。
q=
は含みません。
[33] 1未満の値は、有損失変換による劣化の度合いを表します >>28。
1.000 perfect representation 0.900 threshold of noticeable loss of quality 0.800 noticeable, but acceptable quality reduction 0.500 barely acceptable quality 0.300 severely degraded quality 0.000 completely degraded quality
Accept-Features:
にはありません。[39] 品質値はその他に異体説明でも使われます。つまり
Alternates:
ヘッダー内に現れることがあります。
[5] >>1 のような値を紹介している解説もしばしば見かけます。。。 (名無しさん 2006-12-25 10:44:40 +00:00)