质量值

质量值(Quality values),或称为 q-valuesq-factors,用于描述逗号分隔列表值之间的优先级顺序。这是一种允许在某些 HTTP 标头和 HTML 中使用的特殊语法。

值的优先级通过后缀 ';q=' 来标记,其后紧跟着一个包含 01 之间(包含边界)的数值,最多保留三位小数,数值越大表示优先级越高。如果未指定,则默认值为 1

示例

以下语法

http
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

指示了优先级顺序

Priority
text/htmlapplication/xhtml+xml 1.0
application/xml 0.9
*/* 0.8

如果前两个值没有定义优先级,则列表中的顺序无关紧要。但是,在质量值相同的情况下,更具体的值比不太具体的值具有更高的优先级。

http
text/html;q=0.8,text/*;q=0.8,*/*;q=0.8
Priority
text/html 0.8(但已完全指定)
text/* 0.8(部分指定)
*/* 0.8(未指定)

一些语法,例如 Accept 标头的语法,允许使用额外的限定符,例如 text/html;level=1。这些限定符会增加值的特异性。它们的用法极其罕见。

更多信息