api和web服务之间的区别?

时间:2016-09-06 05:32:06

标签: web-services api-design

在许多问题中,人们已经解释了API和Web服务之间的区别。我知道它是服务提供商和服务消费者之间的沟通方式,但两者看起来都像是为我服务:消费者发送请求并从提供者那里获得回复。

  1. 如果是这样那么真正让它们与众不同的是什么?

  2. 为什么我们有两个不同的术语, Web服务 API

4 个答案:

答案 0 :(得分:3)

以上所有答案都非常好,请考虑一个简短的说明 -

API =与其他一些代码连接(内部[无网络]或外部[有网络])

HTTP over HTTP = Web服务

答案 1 :(得分:2)

API不一定是基于网络的。它实际上只是如何与其他人使用编程语言进行交谈的规范。另一方面,web service其他人的工作的一个示例,程序将使用API​​与之交谈。

对于Web服务,API可以指定如何通过Web与服务进行通信,以便使用它。然而,通常不会直接描述服务的通信协议。相反,API将是如何使用服务作者提供的客户端库的规范。两者的一个很好的例子是Google Maps API。 Google通过HTTP(网络服务API)和Javascript中的客户端库提供了如何通过其服务请求数据的规范,可以用来请求同样的事情。

但这不是唯一可能使用的术语 API 。 jQuery(它是一个Javascript库,但不是远程Web服务)也将其文档称为API Documentation。同样,API上的维基百科页面提供了操作系统POSIX标准的示例。

简而言之,API是一种规范,而Web服务是可以使用API​​记录的系统的一个示例。

答案 2 :(得分:1)

我认为这是4月12日用户Buh Buh here的一个很好的答案,'

  

在较低级别,Web应用程序和Web服务有点相同   事情。它们都通过http(s)进行操作。 SOAP只是一个很好的定义   XML版本。 REST有点像HTTP。如果你愿意,你可以   使Web应用程序看起来像Web服务,反之亦然。

     

主要区别在于基于的内部开发选项   你正在使用的平台。例如,如果您使用的是Visual Studio   然后添加一个WCF服务应用程序将为您提供一个项目   默认情况下,面向WCF。但是选择任何其他应用类型   不会阻止你添加Web服务。

     

对于这些,使用SOAP通常比普通的旧xml更好   原因:

     
      
  • 您的用户会期待它,并且可能知道如何阅读它   已经。
  •   
  • 您的用户'开发环境很可能都知道   关于SOAP并且能够开箱即用地解释它。 (如果你提供   一个WSDL文件然后许多用户将能够使用脚本来生成   几秒钟内你的课程。)
  •   
  • 您的信息更有可能是好的   定义。我正在另一边的一个项目上工作   已定义了自己的随机XML结构,这是一个噩梦   与...合作。我真的不知道会发生什么,而且几乎没有   不同消息类型之间的一致性。至少如果他们   已经同意遵守SOAP,那么我可能会有更轻松的时间   解释他们的信息。
  •   

答案 3 :(得分:1)

API根本不需要是Web服务(尽管在Web世界中,API更可能是Web服务)。 API可以用于硬件数据库连接等。

相关问题