质量价值
质量价值(Quality value),也称作 q 值、q 因子,用于描述逗号分隔列表中值的优先级顺序。它是一种特殊的语法,允许在一些 HTTP 标头 和 HTML 中使用。
值的重要性由后缀 ';q=' 标记,后面紧跟一个介于 0 和 1 之间的值,包括最多三位小数,最高的值表示最高优先级。当未指定时,默认值为 1。
示例
以下语法
http
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
表明优先级先后顺序:
| 值 | 优先级 |
|---|---|
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
| 值 | 优先级 |
|---|---|
text/html |
0.8(但是完全指定了) |
text/* |
0.8(部分指定) |
*/* |
0.8(完全没指定) |
一些语法,例如 Accept,允许使用额外的指定符号,例如 text/html;level=1。这些符号增加了值的特异性。它们的使用非常罕见。
参见
- 使用 q 值语法的 HTTP 标头:
Accept、Accept-Encoding、Accept-Language、TE、Want-Digest。 - 标头字段定义