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/xmlapplication/xhtml+xmltext/html都具有0.9的质量参数?

或者这意味着application/xmlapplication/xhtml+xml有默认的( q=1 ),而text/htmlq=0.9参数?

我假设前者,但希望有人知道更明确。

不,如果质量参数缺失,假设q=1.0

每个媒体范围可以跟有一个或多个接受参数,以“q”参数开始,用q值从0到1(3.9节)表示相对品质因子。 默认值是q = 1。

所以给定的值被解释为:“ application / xmlapplication / xhtml + xmlimage / 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的实体。

Interesting Posts