REST API可以以多种格式返回资源表示 - 更具体的MIME类型。客户端应用程序或浏览器可以在HTTP Accept标头中请求任何受支持的MIME类型。从技术上讲,Accept
标题可以以逗号分隔值的形式具有多个值。
例如,Accept
请求text/html
或application/xml
格式的标头可以设置为:
Accept : text/html,application/xml
有时,客户端可能希望在请求多种MIME
类型时设置其首选项。要设置此首选项,请使用q
参数(相对品质因数)。
q
参数值可以是0到1。0是最低值(即最不优选),1是最高值(即最优选)。
示例用法可以是:
Accept : text/html, application/xml;q=``0.9``, */*;q=``0.8
在上面的示例中,客户端首先指示它希望以text/html
格式获得响应的服务器。它服务器不支持所text/html
请求资源的格式,而不支持application/xml
格式。如果两种格式都不可用,则以其支持的任何格式发送响应(*/*
)。
以下是HTTP规范如何定义它:
每个媒体范围可以跟随一个或多个accept-params,从“q”参数开始,用于指示相对品质因数。第一个“q”参数(如果有的话)将media-range参数与accept-params分开。质量因子允许用户或用户代理使用从0到1的“q”值标度来指示该媒体范围的相对偏好度。默认值为1。
如果给定相同q
值有两种MIME类型,则两者之间的更具体类型将获胜。
例如,如果两个application/xml
和*/*
具有0.9的偏好,然后application/xml
将服务器提供服务。
如果不存在Accept
头字段,则假定客户端接受所有媒体类型。如果存在Accept
头字段,并且如果服务器无法根据组合Accept
字段值发送可接受的响应,则服务器应该发送406 (not acceptable)
响应。
Powered by RESTful API 中文网 + with by 全栈开发网. 网站地图 按Ctrl+D试试 .