什么是RESTful API,它和Web服务有什么区别?

4

能否有人帮我解释一下什么是RESTful,以及它与`Web服务'的区别?我尝试搜索,但是对于它和Web服务之间的区别感到困惑,有谁可以帮忙吗?


REST是一种Web服务架构类型。 - juanpa.arrivillaga
可以给我提供更多的细节吗? - user6672223
请查看答案中的链接。 - juanpa.arrivillaga
好的,谢谢,我会阅读它。 - user6672223
2个回答

7

它的名称清楚地说明了在网上提供的服务称为Web服务。

Web服务有两种类型:REST API和SOAP API。

RESTful Web Services基本上是基于REST架构的Web服务。在REST架构中,一切都是资源。 RESTful Web服务具有轻量级、高度可扩展和可维护性,并且非常常用于创建面向Web的应用程序的API。

SOAP(简单对象访问协议)是一种消息传递协议,允许运行在不同操作系统上(例如Windows和Linux)的程序使用超文本传输协议(HTTP)及其可扩展标记语言(XML)进行通信。


谢谢,但我想问您,如果我使用任何网站提供的 APIGoogle-APIs,那么那是RESTful还是Web服务,我感到困惑 :/ - user6672223
如果网站提供任何API,则它是一个Web服务,您必须询问API的类型,无论它是REST API还是SOAP API。简单地说,RESTful API属于Web服务。 - Akash Jain
啊哈,我明白了,但是在https://dev59.com/N3E95IYBdhLWcg3wf-AF#2285743中他说RESTful也使用HTTP协议进行通信...那么在这种情况下它们之间有什么区别呢? - user6672223
RESTful APIs和SOAP都使用HTTP协议,但SOAP使用带有XML格式的WSDL文件的HTTP,该文件定义了所有操作,而RESTful API仅使用HTTP协议,非常简单和轻量级。具体是使用RESTful还是SOAP API取决于提供者提供的内容。 - Akash Jain
好的兄弟,你能给我一个使用SOAPRESTful更好的例子吗?还有它们与数据格式(如Json)之间的关系是什么? - user6672223
我不确定在哪种情况下SOAP比RESTful更好,因为SOAP是Web服务家族中的第一种方法,但它有许多问题,例如它具有固定的XML格式,它很重,它维护WSDL文件,所以为了克服所有问题,RESTul出现了,两者都执行相同的操作,与第三方网站交互,而RESTful比SOAP更合适。 RESTful API使用许多格式,如JSON,这是所有编程语言中最可接受的格式。此链接可能会对您有所帮助http://nordicapis.com/rest-better-than-soap-yes-use-cases/ - Akash Jain

1

我读了它,但我想知道如果不使用HTTP协议,Web服务将如何获取其数据的方式? - user6672223

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接