2016-09-06 570 views
0

在许多问题中,人们已经解释了API和Web服务之间的区别。我知道这是服务提供者和服务使用者之间的一种沟通方式,但两者看起来都是一样的:消费者发送请求并从提供者那里得到回应。api和web服务的区别?

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

  2. 为什么我们有两个不同的方面,两者Web服务API

回答

1

我觉得这是从用户寮步寮步here于'13 4月12日,一个伟大的回答:

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

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

使用SOAP通常比普通的旧XML这些 原因是更好的选择:

  • 你的用户会被期待它,并有可能知道如何读它 了。
  • 您的用户的开发环境可能会知道关于SOAP的所有 ,并且能够将其解释为开箱即用。 (如果您提供了 WSDL文件,那么很多用户将能够在几秒钟内使用脚本生成 您的课程。)
  • 您的消息更有可能是 定义好的。我正在开发一个项目,此时对方 已经定义了他们自己的随机XML结构,这是一个与 一起工作的噩梦。我从来不知道会发生什么,并且他们不同的消息类型之间几乎没有什么一致。至少如果他们已经同意遵守SOAP,那么我可能会更容易解释他们的消息 。
0

的API不必是Web服务在所有(虽然在网络世界它更可能是一个API是一个Web服务)。 API可以用于数据库连接的硬件等。

1

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

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

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

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

0

API和Web服务作为通信手段

Web服务便于在一个network.Web服务两个机器之间的交互也使用SOAP,REST和XML-RPC作为通信手段。

API充当两个不同应用程序之间的接口,以便它们可以相互通信。 API是第三方供应商可以编写与其他程序轻松交互的程序的一种方法.API可以使用任何通信手段来启动应用程序之间的交互。

  1. 所有Web服务都是API,但所有的API都不是Web服务。

  2. Web服务可能不会执行API将执行的所有操作。

  3. 一个Web服务只使用三种风格的使用:SOAP,REST和XML-RPC通信,而API可以使用任何风格进行通信。

  4. Web服务始终需要一个网络来运行,而API不需要网络来运行。

  5. 的API便于直接与应用程序,而一个Web服务接口是

2

以上所有答案都是完全正常,考虑一个短信 -

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

API over HTTP = Web服务

相关问题