Restful vs其他Web服务

fir*_*784 17 rest

它使Restful webservices与SOAP之类的其他Web服务有什么不同?

Dan*_*umb 31

关于Web服务的争论并非完整,但有一些因素很突出.

RESTful Web服务是Web服务的"系列".有些人称之为架构.

RESTful Web服务使用HTTP协议来执行来自Web服务的请求.他们使用HTTP动词:GET,POST,PUT和DELETE(有时候还有其他).请求本身是代表资源的URL ...有时请求将包含正文中的数据,可以通过HTML,JSON,二进制数据或其他.

纯粹的RESTful Web服务只需要URL和HTTP动词来描述所请求的操作......正文数据通常是涉及请求的操作的有效负载......它不应该指示所请求的操作

另一方面,SOAP实际上是一种协议.它通常通过HTTP传输,但HTTP请求只是将SOAP数据包传递到必要处理程序的方法.SOAP请求的内容描述了客户端想要执行的操作.它包含所有必要的信息.

它们是实现Web服务的两种截然不同的方式.如果你问"哪个更好",你可能会得到双方的强烈意见.我建议你进一步调查并自己决定.


eKe*_*ek0 12

的RESTful web服务(也称为RESTful网络API)是使用HTTP和REST原理的简单的web服务实现.可以将这种Web服务视为资源集合.这种Web服务的定义可以被认为包括三个方面:

  • Web服务的基本URI,例如http://example.com/resources/
  • Web服务支持的数据的MIME类型.这通常是JSON,XML或YAML,但可以是任何其他有效的MIME类型.
  • Web服务使用HTTP方法支持的一组操作(例如,POST,GET,PUT或DELETE).

SOAP,最初定义为简单对象访问协议,是用于在计算机网络中的Web服务的实现中交换结构化信息的协议规范.它依赖于可扩展标记语言(XML)作为其消息格式,并且通常依赖于其他应用层协议(最值得注意的是远程过程调用(RPC)和HTTP)来进行消息协商和传输.这个基于XML的协议由三部分组成:

  • 信封 - 定义信息中的内容以及如何处理信息 -
  • 一组用于表示应用程序定义的数据类型实例的编码规则,
  • 以及表示过程调用和响应的约定.

引用:

顺便说一下,一个简单的谷歌搜索可以为你提供答案......


myt*_*thz 5

好吧,Stack Overflow 上有关于这个主题的丰富知识。

我认为阐明 REST 精神以及它如何与 SOAP 等技术进行比较的最佳文章是我如何向我的妻子解释 REST

与 SOAP 不同,REST 不是一个标准,它更多的是一种以资源和您可以对资源执行的操作为中心的方法。HTTP 动词 GET、POST、PUT 和 DELETE 是可以对任何资源应用的典型操作。SOAP 是一个忽略这些动词的标准,并发明了一种更全面的协议,该协议在最流行的动词 HTTP POST 之上工作,以实现最大的互操作性。大多数时候,这种增加的复杂性是不必要的,对资源的简单 HTTP GET 请求通常足以超过 1KB+ 的 SOAP+XML 来实现等效结果。

您还可以查看Roy Fielding 的博客(REST 的发明者),了解有关其含义的更多信息。

  • 遗憾的是它不再可用,作者将其删除。 (2认同)
  • 只不过这是互联网,并且它已被重新发布到许多网站:http://www.looah.com/source/view/2284 网络存档器可能仍然有副本。 (2认同)