HTTP Accept Header的含义
当浏览器的Accept请求头部如下所示:
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
这是否意味着application/xml
, application/xhtml+xml
和text/html
都具有0.9
的质量参数?
或者这意味着application/xml
和application/xhtml+xml
有默认的( q=1
),而text/html
有q=0.9
参数?
我假设前者,但希望有人知道更明确。
不,如果质量参数缺失,假设q=1.0
:
每个媒体范围可以跟有一个或多个接受参数,以“q”参数开始,用q值从0到1(3.9节)表示相对品质因子。 默认值是q = 1。
所以给定的值被解释为:“ application / xml , application / xhtml + xml和image / png是首选媒体types,但如果它们不存在,则发送文本/ html实体( text/html;q=0.9
),如果不存在,则发送文本/普通实体( text/plain;q=0.8
),如果不存在,则发送具有任何其他媒体types( */*;q=0.5
)“。
在术语上,这将被解释为“application / xml,application / xhtml + xml和image / png是首选媒体types,但如果它们不存在,则发送文本/ html实体,如果不存在,则发送该文本/普通实体,如果仍然不存在,则发送一个具有任何其他媒体types的实体。