本文介绍了REST 内容类型:它应该基于扩展名还是接受标头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
RESTful Web 服务返回的表示形式(html, xml, json) 应该由 url 确定还是由 Accept HTTP 标头确定?
Should the representation(html, xml, json) returned by a RESTful web service be determined by the url or by the Accept HTTP header?
推荐答案
两者都有效.引用自 xml.com:
Both are valid. Quote from xml.com:
一个资源可能有多个表示.有四个常用的交付方式正确的资源表示消费者:
- 服务器驱动的协商.服务提供商确定权利来自先验知识的表示其客户或使用该信息在 HTTP 标头中提供,例如 Accept,接受字符集,接受编码,接受语言和用户代理.这这种方法的缺点是服务器可能没有最好的知识了解客户真正想要什么.
- 客户驱动的协商.客户端向一个客户端发起请求服务器.服务器返回一个列表可用的表示.这客户然后选择表示它想要并发送第二个请求到服务器.缺点是一个客户端需要发送两个请求.
- 代理驱动的协商.客户端向服务器发起请求通过代理.代理通过向服务器请求并获得一个代表名单.代理根据选择一种表示由客户设置的首选项和将表示返回给客户.
- URI 指定的表示.客户端指定它的表示需要在 URI 查询字符串中.
这篇关于REST 内容类型:它应该基于扩展名还是接受标头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!