20、超媒体服务:客户端偏好、内容协商与词汇表管理

超媒体服务:客户端偏好、内容协商与词汇表管理

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值