web服务和API之间的区别是什么?差异是否超过了传输数据所使用的协议? 谢谢。


当前回答

基本上,webservice是两台机器之间的一种通信方法,而API是一个公开的层,允许你对某些东西进行编程。

你可以有一个API,而与该API交互的主要方法是通过web服务。

技术定义(维基百科提供)是:

API

应用程序编程接口(API)是库和/或操作系统服务提供的一组例程、数据结构、对象类和/或协议,以支持应用程序的构建。

网络服务

Web服务(也称为Web服务)被W3C定义为“一种旨在支持网络上可互操作的机器对机器交互的软件系统”。

其他回答

基本上,webservice是两台机器之间的一种通信方法,而API是一个公开的层,允许你对某些东西进行编程。

你可以有一个API,而与该API交互的主要方法是通过web服务。

技术定义(维基百科提供)是:

API

应用程序编程接口(API)是库和/或操作系统服务提供的一组例程、数据结构、对象类和/或协议,以支持应用程序的构建。

网络服务

Web服务(也称为Web服务)被W3C定义为“一种旨在支持网络上可互操作的机器对机器交互的软件系统”。

把Web服务看作Web api。API现在是一个通用术语,因此web服务是功能的接口,通常与业务相关,您可以通过各种协议从网络获得它。

一般来说,web服务是一个基于HTTP的API。它们通常使用JSON或XML,但也有一些其他方法。

API(应用程序编程接口)是第三方可以编写与其他代码接口的代码的方法。Web服务是一种API,它几乎总是在HTTP上运行(尽管有些API,如SOAP,可以使用替代传输,如SMTP)。官方W3C定义提到Web服务不一定使用HTTP,但这几乎总是如此,并且通常是假定的,除非另有说明。

有关web服务的具体示例,请参见SOAP、REST和XML-RPC。有关另一种类型的API的示例,即用C编写的用于本地机器的API,请参阅Linux内核API。

就协议而言,Web服务API几乎总是使用HTTP(因此是Web部分),并且肯定涉及到网络上的通信。api通常可以使用它们希望的任何通信方式。例如,Linux内核API使用中断来调用系统调用,这些系统调用组成了来自用户空间的API调用。

API是一个已发布的接口,它定义了组件a如何与组件B通信。

例如,Doubleclick发布了一个Java API,允许用户查询数据库表以获得有关其在线广告活动的信息。

例如,调用GetNumberClicks(用户名)

要实现API,必须将双击.jar文件添加到类路径中。这是本地呼叫。

web服务是API的一种形式,其中接口是通过WSDL定义的。这允许通过HTTP远程调用接口。

如果Doubleclick将其接口实现为web服务,那么他们将在Tomcat中使用类似Axis2的东西。

远程用户将调用web服务

例如调用GetNumberClicksWebService(用户名)

GetNumberClicksWebService服务将在本地调用GetNumberClicks。