当前位置:  开发笔记 > 编程语言 > 正文

API与Web服务

如何解决《API与Web服务》经验,为你挑选了5个好方法。

Web服务和API有什么区别?差异是否超过用于传输数据的协议?谢谢.



1> Andrew Chola..:

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的系统调用,以用于来自用户空间的调用.


是的,每个Web服务都是一个API.是的,一个AJAX Web服务是一个API,它只是没有文档,因此并不真正意味着公共消费.并非每个API都是专为第三方消费而设计的API.您也可以拥有内部API.
您会将每个Web服务视为API吗?使用AJAX重新加载网页区域而不是重新加载整个页面时怎么样?即使涉及Web服务,我也不一定认为这是API.否则,我们可以创建一个案例,对于所有已创建的函数,无论是在DLL中,还是JAR,Web服务或普通代码都是所有API.对于API是API,它必须考虑到第三方开发人员,并且API应该与最终产品(使用API​​的应用程序)无任何依赖关系.

2> Mark Biek..:

基本上,webservice是两台机器之间的通信方法,而API是一个暴露层,允许您对某些东西进行编程.

您可以拥有一个API,与该API交互的主要方法是通过Web服务.

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

API

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

网络服务

W3C将Web服务(也称为Web服务)定义为"旨在支持通过网络进行可互操作的机器到机器交互的软件系统"


您的响应意味着API和Web服务是不同的,而实际上Web服务是一种API.由于这个问题的关键在于两者之间的区别,因此回应澄清Web服务是一种API非常重要.
有人反对我的回答,我很好,但我很想知道为什么.
有趣.我将不得不(尊敬:) :)不同意.但我很欣赏这些反馈意见.

3> cgp..:

在一般意义上,web服务基于HTTP的API.它们通常使用JSON或XML,但也有一些其他方法.


所以所有的Web服务都是API,但并非所有的API都是Web服务?
是的,API可以是DLL,JAR或OCX等库.它们也可以是源代码分发,例如Facebook的PHP api ...

4> nzpcmad..:

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

例如,Doubleclick具有已发布的Java API,允许用户查询数据库表以获取有关其在线广告活动的信息.

例如,调用GetNumberClicks(用户名)

要实现API,您必须将Doubleclick .jar文件添加到类路径中.电话是本地的.

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

如果Doubleclick将其接口实现为Web服务,他们将使用在Tomcat中运行的Axis2之类的东西.

远程用户将调用Web服务

例如,调用GetNumberClicksWebService(用户名)

并且GetNumberClicksWebService服务将在本地调用GetNumberClicks.



5> 小智..:

API(应用程序编程接口),完整的表单本身表明它是一个接口,允许您在某些其他应用程序接口的帮助或支持下为您的应用程序编程,该接口公开了对您的应用程序有用的某种功能.

例如,在您的网站上显示更新的货币汇率需要一些第三方界面进行编程,除非您计划拥有自己的货币汇率和定期更新的数据库.这组功能在其他人已经可用时,当他们想与其他人共享时,他们必须有一个端点与其他对此类交互感兴趣的人进行通信,以便他们通过网络将其部署到网上.服务.这个终点只是他们的应用程序的接口,你可以编程,因此API.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有