【发布时间】:2009-07-22 15:39:29
【问题描述】:
在 SOAP 和 REST 两种思想流派之间是否有任何拇指规则可供选择?
【问题讨论】:
在 SOAP 和 REST 两种思想流派之间是否有任何拇指规则可供选择?
【问题讨论】:
这取决于很多因素。一个并不比另一个好。 Here is a list of differences I wrote before。
【讨论】:
这不是“经验法则”,但 David Chappell 在今年的 ESRI DevSummit 主题演讲中就 SOAP 与 REST 进行了精彩的演示。如果你有时间,我强烈建议你听听。
【讨论】:
这里有一个:如果您没有使用 HTTP 以外的其他传输方式,那么 REST 可能是更好的选择。
【讨论】:
首先,虽然 SOAP 是专门面向 Web 的技术,但 REST 与 HTTP 无关,但仍然非常适合 Web 服务。 REST 也是一种架构,而不是一种协议,而 SOAP 是。所以有很多方法可以实现 RESTful 服务,只要它们遵守架构的约束即可。
REST 更适合传统的 HTTP 堆栈,因为它要求尽可能正确使用协议。 SOAP 仅将 HTTP 用作围绕其自己的协议的一种包装器/代理,这不是 HTTP 的用途。 SOAP 试图绕过 HTTP 的限制,但它没有充分利用 HTTP 提供的大部分功能。
例如,位于客户端和内容服务器中间的缓存服务器应该能够缓存请求和响应,而无需了解每个内容的任何内容,这对于 SOAP 是不可能的,因为实际内容需要被缓存的是 HTTP 消息内容的子集,位于一堆 SOAP 包装器和专有结构中。 RESTful 服务没有这个问题,因此它们可以更自然地扩展。
有关 REST 的最佳信息来源,请阅读 Fielding 的 dissertation 和他的 blog,在那里他澄清了常见的误解。 (他是创建 REST 规范的人)
【讨论】: