REST和RPC之间的Web服务差异
我有一个Web服务接受JSON参数,并有方法的具体URL,例如:
http://IP:PORT/API/getAllData?p={JSON}
这绝对不是REST,因为它不是无状态的。 它需要考虑cookies并拥有自己的会话。
它是RPC吗? RPC和REST有什么区别?
通过查看您发布的内容,您无法在REST或RPC之间做出明确区分。
REST的一个限制是它必须是无状态的。 如果你有一个会话,那么你有状态,所以你不能打电话给你的服务RESTful。
你在URL中有一个动作的事实(即getAllData
)是一个RPC指示。 在REST中,您交换表示,并且执行的操作由HTTP动词指定。 另外,在REST中,内容协商不会使用?p={JSON}
参数执行。
不知道你的服务是否是RPC,但它不是RESTful。 您可以在线了解这些差异,下面是一篇让您开始使用的文章:揭开RPC和REST的神话。 你更清楚你的服务内部是什么,所以比较它的功能与RPC是什么,并得出你自己的结论。
考虑下面的例子,这些HTTP API将模拟订单放置在餐馆中。
正在下单:
检索订单:
更新订单:
取自sites.google.com/site/wagingguerillasoftware/rest-series/what-is-restful-rest-vs-rpc的示例
REST最好描述为与资源一起工作,其中RPC更多地涉及这些操作。
REST代表具象状态传输。 这是组织独立系统之间交互的一种简单方法。 RESTful应用程序通常使用HTTP请求来发布数据(创建和/或更新),读取数据(例如,查询)以及删除数据。 因此,REST可以对所有四个CRUD(创建/读取/更新/删除)操作使用HTTP。
RPC基本上用于跨不同模块进行通信以服务用户请求。 例如在OpenStack中,像启动虚拟机时新星,一瞥和中子一起工作。
链接地址: http://www.djcxy.com/p/71469.html上一篇: Web service differences between REST and RPC
下一篇: what is hypermedia , hypermedia controls, hypermedia formats