web服务和API之间的区别是什么?差异是否超过了传输数据所使用的协议? 谢谢。
当前回答
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(应用程序编程接口),完整的形式本身表明它是一个接口,允许你在其他应用程序接口的帮助或支持下为你的应用程序编程,它公开了一些对你的应用程序有用的功能。
E.g showing updated currency exchange rates on your website would need some third party Interface to program against unless you plan to have your own database with currency rates and regular updates to the same. This set of functionality is when already available with some one else and when they want to share it with others they have to have an endpoint to communicate with the others who are interested in such interactions so they deploy it on web by the means of web-services. This end point is nothing but interface of their application which you can program against hence API.
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调用。
检查这个http://en.wikipedia.org/wiki/Web_service
正如链接所提到的,Web API是Web服务中的一种开发,它很可能与Web 2.0相关,而基于SOAP的服务则被基于REST的通信所取代。请注意,REST服务不需要XML、SOAP或WSDL服务api定义,因此这与传统web服务有很大不同。
一般来说,web服务是一个基于HTTP的API。它们通常使用JSON或XML,但也有一些其他方法。
基本上,webservice是两台机器之间的一种通信方法,而API是一个公开的层,允许你对某些东西进行编程。
你可以有一个API,而与该API交互的主要方法是通过web服务。
技术定义(维基百科提供)是:
API
应用程序编程接口(API)是库和/或操作系统服务提供的一组例程、数据结构、对象类和/或协议,以支持应用程序的构建。
网络服务
Web服务(也称为Web服务)被W3C定义为“一种旨在支持网络上可互操作的机器对机器交互的软件系统”。