质量值
质量值(Quality values),或称为 q-values 和 q-factors,用于描述逗号分隔列表值之间的优先级顺序。这是一种允许在某些 HTTP 标头和 HTML 中使用的特殊语法。
值的优先级通过后缀 ';q=' 来标记,其后紧跟着一个包含 0 到 1 之间(包含边界)的数值,最多保留三位小数,数值越大表示优先级越高。如果未指定,则默认值为 1。
示例
以下语法
http
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
指示了优先级顺序
| 值 | Priority |
|---|---|
text/html 和 application/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。这些限定符会增加值的特异性。它们的用法极其罕见。
更多信息
- 在其语法中使用 q-values 的 HTTP 标头:
Accept、Accept-Encoding、Accept-Language、TE。 - 标头字段定义。