Web服务和API有什么区别?差异是否超过用于传输数据的协议?谢谢.
API(应用程序编程接口)是第三方编写与其他代码交互的代码的手段.Web服务是一种API,几乎总是通过HTTP运行(尽管有些像SOAP一样,可以使用备用传输,如SMTP).该官方W3C定义中提到,Web服务不一定使用HTTP,但是这是几乎总是如此,通常认为,除非另有提及.
有关Web服务的示例,请参阅SOAP,REST和XML-RPC.有关另一种API的示例,一种用C语言编写以在本地计算机上使用,请参阅Linux Kernel API.
就协议而言,Web服务API几乎总是使用HTTP(因此是Web部分),并且肯定涉及通过网络进行通信.API通常可以使用他们希望的任何通信方式.例如,Linux内核API使用Interrupts来调用组成其API的系统调用,以用于来自用户空间的调用.
基本上,webservice是两台机器之间的通信方法,而API是一个暴露层,允许您对某些东西进行编程.
您可以拥有一个API,与该API交互的主要方法是通过Web服务.
技术定义(由维基百科提供)是:
应用程序编程接口(API)是由库和/或操作系统服务提供的一组例程,数据结构,对象类和/或协议,以便支持应用程序的构建.
W3C将Web服务(也称为Web服务)定义为"旨在支持通过网络进行可互操作的机器到机器交互的软件系统"
在一般意义上,web服务是基于HTTP的API.它们通常使用JSON或XML,但也有一些其他方法.
API是一个已发布的接口,它定义了组件A如何与组件B通信.
例如,Doubleclick具有已发布的Java API,允许用户查询数据库表以获取有关其在线广告活动的信息.
例如,调用GetNumberClicks(用户名)
要实现API,您必须将Doubleclick .jar文件添加到类路径中.电话是本地的.
Web服务是API的一种形式,其中接口是通过WSDL定义的.这允许通过HTTP远程调用接口.
如果Doubleclick将其接口实现为Web服务,他们将使用在Tomcat中运行的Axis2之类的东西.
远程用户将调用Web服务
例如,调用GetNumberClicksWebService(用户名)
并且GetNumberClicksWebService服务将在本地调用GetNumberClicks.
API(应用程序编程接口),完整的表单本身表明它是一个接口,允许您在某些其他应用程序接口的帮助或支持下为您的应用程序编程,该接口公开了对您的应用程序有用的某种功能.
例如,在您的网站上显示更新的货币汇率需要一些第三方界面进行编程,除非您计划拥有自己的货币汇率和定期更新的数据库.这组功能在其他人已经可用时,当他们想与其他人共享时,他们必须有一个端点与其他对此类交互感兴趣的人进行通信,以便他们通过网络将其部署到网上.服务.这个终点只是他们的应用程序的接口,你可以编程,因此API.