为什么不是SOAP
我了解RESTful是一种架构风格,但究竟是什么让基于SOAP的Web服务不能算作RESTful呢?
我不清楚下面哪些点(来自维基百科),不符合SOAP。
编辑 :我刚刚遇到这个总结它很好。
REST不是RPC,RPC说,“定义一些做某事的方法”,而REST说,“定义一些资源,他们将有这些方法”。 这是一个微妙而重要的区别,当给定一个URI时,任何人都知道他们可以通过预定义的方法与它进行交互,并接收标准的HTTP响应。 所以给定http://www.peej.co.uk/我知道我可以发出一个GET并接收一些有意义的东西。 然后,我可能会尝试使用PUT来更改它并接收有意义的HTTP错误代码,因为我没有被授权干涉它。
SOAP遵循RPC模式。 SOAP API描述了一系列方法,以及它们的参数和返回值,您可以从代码中调用它们。 有一个编组步骤将其转换为网络表示形式。
REST从来不是RPC。 REST API描述了一系列资源,以及一组能够对它们起作用的动词(通常是HTTP的GET,POST,PUT,DELETE)。
要直接回答您的问题:SOAP主要违反了第6点(它不提供跨API的一组统一的动词)。 它也违反了第2点(服务器可以维护每个客户端的状态),结果也是第3点(状态阻止缓存)。
REST和SOAP不是等价的概念。
休息:
肥皂:
以上列表中的项目2和3是不兼容的要点。
REST的目标之一是cachability,因为资源需要由uri(查询字符串)来标识。 在soap中发布请求,因此对于不同的请求你有相同的uri,因此资源不能唯一地由ur标识
链接地址: http://www.djcxy.com/p/71427.html上一篇: Why isn't SOAP