REST与SOAP和简单网站等

pro*_*ted 6 rest web-services

我从网络服务世界开始,我有几个问题:

  • 从我读过的内容来看,REST可以被理解为对URL的简单调用,它给出了一定的预期结果.那么,REST Web服务和简单​​网站之间有什么区别?

  • Web服务与语言无关.因此,如果我使用返回序列化Person类对象的方法开发基于Java的REST Web服务,并且我的客户端是.NET应用程序,那么如何在.NET端重构此类?它在实践中是如何完成的?我是否必须在Web服务上构建返回对象的表示形式,并在.NET端解析并构建它?

  • 在实践中,什么是REST和SOAP调用之间的区别?

TTM*_*MAN 6

有关RESTful服务的解释,请参阅Richardson成熟度模型.

替代文字

要达到3级,必须满足 超媒体作为应用程序状态的引擎.abrivated HATEOAS约束(也称为超媒体约束).这意味着那里的大多数服务都不是RESTful,而是合理的CRUD服务......这很好......

REST的一个很好的资源是实践中的REST

SOAP和REST之间的主要区别在于REST服务没有定义"操作"的WSDL,感谢上帝.然而,数据结构可以由Schematron,XSD for XML等模式语言定义.


hvg*_*des 1

REST 代表代表状态传输。它建立在 HTTP 协议无状态这一事实之上,并指定了一些方法,如 PUT/GET/POST 等。REST 为这些方法附加了语义。例如,GET 表示“读取/加载”。PUT 的意思是“保存”。POST 的意思是“更新”。(我想我是对的......)

所以REST不是对URL的调用,REST是一个概念。您可以通过调用 URL 来使用 REST。REST 和“简单网站”之间的区别在于 REST 语义。PUT 请求意味着一件事,GET 请求意味着另一件事,等等。

RESTful Web 服务与语言无关,因为它依赖于 HTTP 协议;就是这样。除了使用 HTTP 协议的能力之外,它们不依赖于任何语言功能。

  • 实际上,HTTP RFC2616 将语义附加到方法上。REST 只是要求如果您使用 HTTP,则必须一致地使用 HTTP 以符合统一接口约束。REST 实际上也不依赖于 HTTP,但实际上 99% 的时间都使用 HTTP。 (2认同)