在哪种情况下,我们需要使用REST(表示状态传输),为什么?看起来与SOAP类似,不同之处在于REST为每个方法都具有单独的URL。而在SOAP中,我们可以使用单个URL调用所有内容。
取自此链接:
REST与SOAP
选择REST和SOAP之间的特定类型的Web服务时,需要考虑多个因素。下表根据个人经验细分了每个Web服务的功能。
休息
RESTful Web服务是完全无状态的。可以通过重新启动服务器并检查交互是否能够继续进行进行测试。静态服务通过HTTP GET方法(对于大多数服务器)提供了良好的缓存基础结构。如果Web服务返回的数据不经常更改且本质上不是动态的,则可以提高性能。服务生产者和服务使用者需要对上下文以及所传递的内容有共同的了解,因为没有标准的规则集来描述REST Web服务接口。REST对于受限配置文件设备(例如移动设备和PDA)特别有用,因为这些设备的附加参数(如标头和其他SOAP元素)的开销较小。REST服务易于与现有网站集成,并以XML公开,因此HTML页面可以轻松使用。几乎没有必要重构现有的网站架构。这使开发人员更加高效和舒适,因为他们不必从头开始重写所有内容,而只需添加现有功能即可。与SOAP相比,基于REST的实现很简单。
肥皂
Web服务描述语言(WSDL)包含并描述了一组通用规则,用于定义Web服务的消息,绑定,操作和位置。WSDL是一种正式合同,用于定义Web服务提供的接口。与REST服务设计相比,SOAP需要更少的管道代码(即事务,安全性,协调,寻址,信任等)。大多数实际应用程序并不简单,并且支持复杂的操作,这些操作需要维护会话状态和上下文信息。使用SOAP方法,开发人员不必担心自己将这些管道代码写入应用程序层。SOAP Web服务(例如JAX-WS)在处理异步处理和调用中很有用。SOAP支持多种协议和技术,包括WSDL,XSD,SOAP,WS-Addressing
简而言之,当您向外部发布复杂的应用程序接口(API)时,SOAP将更加有用。但是,当需要学习曲线较低,结果轻巧,快速,交易简单(即CRUD操作)的东西时,我的投票将投给REST。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句