2012-01-18 55 views
9

大家好我一直在檢查Chrome瀏覽器的請求頭當我們鍵入一個網址到地址欄,我想知道究竟是什麼將這些標題的意思是:HTTP中相對品質因素的含義是什麼?

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

This thread說,這是品質因數,因此Chrome說它正在接受> = 90%的質量應用程序/ xml,> = 70%的質量UTF-8,> = 80%的英語。

究竟做90%質量的應用程序/ XML,70%的質量UTF-8,和80%的英語怎麼講啊?

+2

要鏈接到的答案似乎可以解釋它很好:'「接受:音頻/ *; Q = 0.2,音頻/基本」應該是爲「我喜歡的音頻/基本解釋,但給我任何音頻類型如果它在質量降低80%後是最好的。「它顯示客戶對不同類型的偏好。如果只有一個,這可能有點毫無意義。 – deceze 2012-01-18 07:56:36

回答

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,但標準似乎不需要這種解釋。

對於其他的例子,你給的質量因素是空操作,因爲沒有替代品或默認爲搶佔的是怎麼接受的定義。

+0

順便說一下,'Accept'是'Accept-Encoding'的默認值? – Pacerier 2012-01-18 08:37:03

2

名稱相對品質因數是有點誤導。
我認爲它是被用來排序的頭就像docs值的偏好說:

一個更復雜的例子是

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

口頭上,這將被解釋爲「文本/ html和text/xc是首選的媒體類型, 但如果它們不存在,則發送文本/ x-dvi實體,如果該 不存在,則發送文本/普通實體。

在你的例子中很容易決定,因爲每個頭只有一個值。

+0

那麼這是否意味着對於你的例子,'text/plain; q = 0.0001,text/html,text/x-dvi; q = 0.0002,text/x-c'因爲它是* relative *或者我在這裏誤解了什麼? – Pacerier 2012-01-18 08:08:54

+1

請注意,q值中的小數點後面不能有三位以上的數字。另外,接受的答案似乎是錯誤的。它不能與「字符的百分比」等有關。這似乎只不過是排名偏好的一種方式,具體的數字只不過意味着它們是大於還是小於其他數字。 – BPS 2012-03-28 13:46:57