2012-01-18 23 views
9

こんにちはすべて私たちがアドレスバーにURLを入力するたびに、私はChromeのリクエストヘッダを調べてきたし、私はまさにそれがこれらのヘッダによってどういう意味かと思った:HTTPで相対的な品質係数はどういう意味ですか?

Accept: application/xml;q=0.9 
Accept-Charset: utf-8;q=0.7 
Accept-Language: en;q=0.8 

This threadは、それが品質係数だと言うので、クローム=> 90%の品質のアプリケーション/ xml、> = 70%の品質のUTF-8、> = 80%の英語の言語を受け入れていると言っています。

90%品質のアプリケーション/ xml、70%品質のUTF-8、80%の英語の意味はどういう意味ですか?

+2

あなたがリンクしている答えは、かなりうまく説明できるようです:「Accept:audio/*; q = 0.2、audio/basic」は「私はaudio/basicを好みますが、 80%のマークダウン後に最高の品質が得られれば、それは最高のものです。」「さまざまなタイプのクライアントの好みが示されています。唯一のものがあれば、間違いなく無意味です。 – deceze

答えて

2

これらのヘッダーについては、RFC 2616で説明しています。

Accept-Charset: utf-8;q=0.7 

この行を理解するための鍵は、言及されていなくても、デフォルトではISO-8859-1が受け入れられるということです。ヘッダーに「ISO-8859-1が必要ですが、ISO-8859-1を使用するとオブジェクトの品質が30%以上低下するとUTF-8を受け入れます」と表示されています。私は、文字の30%がISO-8859-1に収まらない場合は、UTF-8を使用しますが、標準ではこの解釈が必要ないように見えることを意味します。

他の例では、受け入れられたものの定義を先取りするための選択肢やデフォルトがないため、品質係数はno-opsです。

+0

Btwは、 'Accept-Encoding'のデフォルトの' identity'ですか? – Pacerier

2

名前相対的品質係数は少し誤解を招くことがあります。
私はそれだけでdocsのようなヘッダの値の好みを注文するために使用されていると思うが言う:

は、より複雑な例では、口頭、これはテキスト」として解釈される

Accept: text/plain; q=0.5, text/html, 
      text/x-dvi; q=0.8, text/x-c 

です/ htmlとtext/xcが好ましいメディアタイプで、 ですが、存在しない場合はtext/x-dviエンティティを送信し、 が存在しない場合はtext/plainエンティティを送信してください。

例では、各ヘッダーには1つの値しかないため、決定が簡単です。

+0

これは、あなたの例では 'text/plain; q = 0.0001、text/html、text/x-dvi; q = 0.0002、text/x-c'は* relative *なので等しく等価であることを意味します。それとも私は何かを誤解していますか? – Pacerier

+1

qvaluesで小数点以下3桁を超えることはできません。また、受け入れられた答えは間違っているようです。 「文字の割合」などとは関係ありません。それは、優先順位を付ける方法以上のものではなく、特定の数字は、他の数字よりも大きくても小さくても意味がありません。 – BPS

関連する問題