用于决定Web服务实现的Thumb规则:SOAP / REST?

时间:2009-07-22 15:39:29

标签: rest soap rules-of-thumb

是否有任何拇指规则可以在两种思想流派之间做出决定:SOAP和REST?

4 个答案:

答案 0 :(得分:2)

这取决于很多因素。一个并不比另一个好。 Here is a list of differences I wrote before

答案 1 :(得分:1)

这不是“拇指规则”,但David Chappell在今年的ESRI DevSummit主题演讲中对SOAP与REST进行了精彩的演讲。如果你有时间,我强烈建议你听。

http://www.esri.com/events/devsummit/sessions/keynote.html

答案 2 :(得分:0)

这是一个:如果你没有使用其他传输方式而不是HTTP,那么REST可能是更好的选择。

答案 3 :(得分:-2)

首先,虽然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规范的人)