使用REST而不是SOAP有什么好处?

时间:2014-01-07 11:56:58

标签: rest soap

在哪种情况下,我们需要使用REST(Representational state transfer)和为什么? 这与SOAP类似,只是REST为每个方法分配了URL。而在SOAP中,我们可以使用单个URL调用所有内容。

1 个答案:

答案 0 :(得分:1)

取自link

  

REST与SOAP

     

选择特定类型时需要考虑多个因素   Web服务,即REST和SOAP之间的服务。下表中断了   根据个人经验了解每个Web服务的功能。

     

REST

     

RESTful Web服务完全是无状态的。这可以通过重新启动服务器并检查交互是否正常来测试   能够生存。   Restful服务通过HTTP GET方法(对于大多数服务器)提供了良好的缓存基础结构。如果,这可以改善性能   Web服务返回的数据不会经常更改,也不会更改   动态的。   服务生产者和服务使用者需要对上下文以及传递的内容有共同的理解   因为没有标准的规则集来描述REST Web服务   接口。   REST对于移动和PDA等受限配置文件的设备特别有用,其中附加参数的开销也是如此   标头和其他SOAP元素较少。   REST服务很容易与现有网站集成,并且使用XML公开,因此HTML页面可以轻松地使用它们。   几乎没有必要重构现有的网站   建筑。这使开发人员的工作效率更高,更舒适   他们不必从头开始重写所有内容,只需要   添加现有功能。   与SOAP相比,基于REST的实现很简单。

     

SOAP

     

Web服务描述语言(WSDL)包含并描述了用于定义消息,绑定的常用规则集,   Web服务的操作和位置。 WSDL是一种正式的   用于定义Web服务提供的接口的合同。   SOAP比REST服务设计需要更少的管道代码(即事务,安全性,协调,寻址,信任等)   实际应用程序并不简单,支持复杂的操作,   这需要会话状态和上下文信息   保持。使用SOAP方法,开发人员无需担心   将此管道代码写入应用程序层本身。   SOAP Web服务(例如JAX-WS)在处理异步处理和调用时很有用。   SOAP支持多种协议和技术,包括WSDL,XSD,SOAP,WS-Addressing

     

简而言之,当您发布复杂的应用程序时   接口(API)对外界来说,SOAP会更有用。但   当学习曲线较低的东西,并且具有轻量级和   更快的结果和简单的事务(即CRUD操作)是   我需要投票给REST。