相对质量因素在HTTP中意味着什么?

时间:2012-01-18 07:29:15

标签: javascript web-services http

大家好我每次在地址栏中输入网址时都在检查Chrome的请求标题,我想知道这些标题究竟是什么意思:

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 个答案:

答案 0 :(得分:2)

名称​​相对品质因数有点误导 我认为它被用来为标题的值排序,就像docs所说:

  

更详细的例子是

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

口头上,这将被解释为" text / html和text / x-c是首选的媒体类型,   但如果它们不存在,则发送text / x-dvi实体,如果是的话   不存在,发送文本/普通实体。"

在您的示例中,它很容易确定,因为每个标头只有一个值。

答案 1 :(得分:2)

这些标题在RFC 2616中解释。

Accept-Charset: utf-8;q=0.7

理解这一行的关键是ISO-8859-1默认被接受,即使没有提及。标题说“我想要ISO-8859-1,但是如果使用ISO-8859-1,我会接受UTF-8会降低发送对象的质量超过30%。”我认为如果30%的字符不符合ISO-8859-1,那么使用UTF-8,但标准似乎不需要这种解释。

对于其他示例,您给出的质量因素是无操作因素,因为没有替代方法或默认值来抢占所接受内容的定义。