学习API这是第一次很棘手——不仅有许多技术术语,而且这些术语的含义经常重叠。这是可以理解的,会引起一些混淆,因为有些词的意思接近,但并不完全相同。
其中一个例子是术语“web服务”和“API”。这两种技术对现代软件体系结构都是至关重要的,如果您在太空中工作,您可能会经常看到它们出现。雷竞技苹果下载官方版
但是,了解web服务与API的区别很重要,因为它们根据软件的需要有不同的用途。在本指南中,我们将简要回顾API和web服务各自是什么,然后比较两者并强调它们的区别。雷竞技苹果下载官方版
什么是API?
应用程序编程接口,简称API,是一种软件组件,它使两个本来不相关的应用程序能够相互通信。API由标准化规则和函数组成,这些雷竞技苹果下载官方版规则和函数确定可以从应用程序中获取或修改哪些数据,以及此过程是如何发生的。
API用于软件集成,雷竞技苹果下载官方版因为API公开了应用程序的一些内部数据和功能,供开发人员使用。这就是API成为“接口”的原因——它的作用就像一个接口,您可以从一个关闭的应用程序中请求数据。
今天,我们在互联网上看到的大多数集成背后都有API。通过internet发送数据的API称为web API。例如,考虑天气应用程序。虽然我们经常使用这些,但天气应用程序本身并没有生成天气数据。相反,他们从天气API请求这些天气数据。天气API将收集和存储天气数据的软件与告诉您明天要下雨的应用程序连接起来(对不起)。雷竞技苹果下载官方版
雷竞技苹果下载官方版软件开发人员可以遵循几种体系结构中的一种来构建API,最流行的是代表性状态传输(REST)和简单对象访问协议(SOAP)-在此了解有关REST的更多信息以及它与SOAP的区别。API体系结构将API标准化,确保它们可以使用通用语言和过程进行通信,而不需要太深入。
API可能是开放的,意思是免费和公开的,或者是私有的,意思是它们只能由经批准的开发者访问(并且可能是有价格的)。此外,公司可以开发自己的内部API来连接其系统,例如在raybet电子竞技微服务.
什么是web服务?
广义地说,web服务是通过internet提供的一种资源,它提供了其他应用程序可以使用的一些功能。此功能可能包括支付处理、登录和数据库存储。
根据万维网联盟(W3C),网页服务“提供在各种平台和/或框架上运行的不同软件应用程序之间进行互操作的标准方法。由于使用XML,Web服务的特点是具有良好的互操作性和可扩展性,以及雷竞技苹果下载官方版机器可处理的描述。它们可以在或中以松散耦合的方式组合以实现复杂的操作。”
换句话说,web服务允许软件应用程序协同工作,即使它们是以不同的方式构雷竞技苹果下载官方版建的。而且,通过利用不同的web服务,应用程序可以组合许多不同的功能,而无需在内部对所有功能进行编码。
通过这种方式,web服务是面向服务体系结构(SOA)的核心。基本上,SOA将软件功能的应用程序划分为通过网络连接的模块化服务。SOA允许在许多应用程序中重用相同的功能,而无需重新编码。雷竞技苹果下载官方版
Web服务需要一个网络才能协同工作,而这种网络通信通常是通过SOAP实现的。SOAP将数据编码为XML,一种用于存储和传输信息的通用标记语言,并通过HTTP发送信息,HTTP是将网页从web服务器发送到浏览器的相同协议。为了与web服务交互,应用程序向服务发送一个XML请求,服务用同样格式化为XML的响应进行响应。
应该注意的是,web服务也可以遵循REST原则,尽管SOAP是web服务中更常见的体系结构。
Web服务与API
虽然API和web服务都可以促进internet上应用程序之间的数据传输,但它们并不相同,而且这些术语不应在所有情况下互换使用。关键区别在于web服务是一种API:所有web服务都是API,但并非所有API都是web服务。
“API”是更广泛的类别,因为根据定义,API是充当两个断开连接的应用程序之间的中介的任何软件组件。雷竞技苹果下载官方版
由于web服务被设计为与其他断开连接的应用程序共享数据,这使它们成为API。然而,web服务只是实现API的一种方法。让我们回顾一下web服务与当前使用的其他类型API的不同之处。
网络通信
Web服务必须通过网络进行通信,网络是连接位于不同机器上的两个或多个软件应用程序的系统。通常,这个网络就是因特网。雷竞技苹果下载官方版
虽然许多API利用网络,但它们不需要这样做-API也可以脱机工作。例如,同一台计算机上的两个应用程序可以通过API进行集成。数据仍在传输,只是没有通过网络传输。
有限的可达性
API可以分为多种类型基于其用户范围。某些API允许任何开发人员在有限的监督下与他们为伍,而API仅限于付费客户。Web服务属于后一类-通常,只有经批准的合作伙伴才能使用Web服务。这使Web服务所有者能够更大程度地控制访问其数据和功能的用户d这些是如何使用的。raybet平台
架构和格式
API可以遵循多种设计中的一种,包括REST、SOAP、XML-RPC或JSON-RPC。另一方面,Web服务通常使用SOAP。这是因为SOAP协议往往比其他API设计更安全,在保持数据完整性方面也更好。
主要的折衷是SOAP的要求比RESTful设计更严格,这使得它的代码更重,过程更密集。出于这个原因,web服务可以合并REST或XML-RPC的原则。尽管如此,人们普遍认为SOAP是go-to协议。
此外,web服务倾向于使用XML格式对数据进行编码,而API通常可以使用任何语言来存储数据——更常见的是,这种语言是JavaScript对象表示法(JSON),这是一种更轻量级的替代方法。
API和Web服务:相似,但不完全相同
总之,API和web服务是两种在不同的软件应用程序之间传输数据的技术。API是一种向外部软件公开应用程序数据的接口,而web应用程序是一种要求更严格的API。这些要求包括通过网络进行通信,使用雷竞技苹果下载官方版SOAP作为主要通信协议,并且通常允许较少的公众访问。
虽然这些定义看起来很微妙,但理解web技术之间微妙但重要的区别是很重要的。有了这些知识,您将能够很好地与开发人员进行讨论,并更好地了解产品的集成。
最初发布于2021年9月20日上午7:00:00,更新于2021年9月20日
话题:
应用程序编程接口(API)别忘了分享这篇文章!
相关文章
扩大报价
注册HubSpot的CMS软件雷竞技苹果下载官方版
现在就去拿