web-services - soap或者REST的Web Services?

  显示原文与译文双语对照的内容

REST是一种更好的方法来做 Web服务 或者是 SOAP? 或者是不同问题的不同工具? 或者它是一个微妙的问题- 也就是说,在某些领域中,比其他领域稍微好一点?

Bounty-Edit:

现在,差不多三年后,我想再次问这个问题- 提供一个奖励,以鼓励深入回答。 我特别喜欢这些概念及其与PHP-universe和现代高端web-applications的相关信息。

时间:

REST是一个与SOAP完全不同的范例。 在这里可以找到一个良好的阅读: 我怎样解释我妻子的

如果你没有时间阅读,下面是简短版本: REST是通过关注"名词"而改变的一些范式,并限制你可以应用到那些名词的"动词"的数量。 唯一允许的动词是"获取","放置","过账l"和"删除"。 这与SOAP不同,其中许多不同的动词可以应用到许多不同的名词( 例如 。 许多不同的函数。

对于 REST,四个动词映射到相应的HTTP请求,而名词通过url来标识。 这使得状态管理比在SOAP中更加透明,因为它通常不清楚服务器上的状态以及客户端上的内容。

事实上虽然该易变的概念,而其余的大部分通常只是指的是简单的HTTP请求以 jsonp 返回结果的,而SOAP是一个更复杂的应用编程接口,通过传递XML围绕沟通的了 两者都有各自的优点和缺点,但我发现,在我的经验中,REST通常是更好的选择,因为你很少需要从SOAP中获得的完整功能。

...