超媒体服务:客户端偏好、内容协商与词汇表管理
1. 客户端响应偏好广告
在OPTIONS响应中,头部空间和响应体都包含客户端偏好参数列表。包含这两组信息是个好主意,因为一些客户端应用程序可能只解析头部集合而跳过响应体中的内容。
常见的客户端感兴趣的偏好参数有: allow 、 accept 、 enctype ,有时还有 language 。而 charset 和 encoding 偏好很少被指定。即使服务接口仅支持偏好项的一个值,该项目也应列在元偏好响应中,这样元偏好响应就成为服务选项的运行时文档,API消费者可以依靠此响应获取这些参数的最新列表。
需要注意的是,仅依赖HTTP OPTIONS来传达支持的客户端偏好存在缺点,因为HTTP规范明确指出OPTIONS不可缓存。若有大量API消费者发送OPTIONS请求,API可能会遇到扩展问题。不过,提供独立的元偏好资源(例如 <link rel="meta" href="http://api.example.org/meta-preferences/" /> ),可以为该资源设置较长的缓存生命周期,从而减少组合和返回客户端偏好响应的开销。
以下是相关示例数据:
{
"links" : [
{ "rel" : ["self"], "href" : "http://api.example.org/file-s
超级会员免费看
订阅专栏 解锁全文
38

被折叠的 条评论
为什么被折叠?



