现代 API 的类型划分

简介: 【2月更文挑战第28天】

现代API以Web应用型API为主,基于现代API的服务对象不同、技术形式不同、使用者不同,可以对现代API做不同类型的划分。

1、基于服务对象的类型划分

每一个API所提供的服务能力,最终都是被企业内外部调用才能实现API的价值。根据API所承载业务功能的服务范围不同,现代API可以划分为公有型API、私有型API和混合型API。

  • 公有型API:此类API主要面向企业外部客户或企业第三方合作伙伴,向外部提供企业的API服务能力,以业务承载为主。
  • 私有型API:此类API主要面向企业内部,不面向外部提供服务能力,具有一定的私密性,以运营管理、内部服务支撑为主。
  • 混合型API:此类API的服务对象没有明显的限制,兼有企业外部客户和企业内部应用之间的调用。


对现代API按照服务对象进行不同类型的划分,有利于明确服务对象和使用范围,为API自身安全性保障要求提供不同级别的防护目标。

2、基于技术形式的类型划分

每一个API都有着不同的技术实现,使用不同的开发语言,或使用不同的协议标准,基于这些技术形式和技术的普及程度,将现代API划分为RESTful API、GraphQL API、SOAP API、gRPC API、类XML-RPC及其他类型API。

  • RESTful API:此类API在技术形式上,以REST风格为主,是当前业界主流的API技术形式。
  • GraphQL API:此类API采用Facebook提出的GraphQL查询语言来构建API服务,尤其适用于树状、图状结构数据的使用场景。
  • SOAP API:即使用SOAP协议作为API接口交互方式的API应用,以Web Service为代表。
  • gRPC API:此类API采用Google的gRPC框架,通过Protobuf协议来定义接口和条件约束,完成客户端和服务器端的远程调用。
  • 类XML-RPC及其他类型API:此类API包含多种技术,因使用的普及率低故将其归类在一起,通常包含XML-RPC的API、JMS(Java Message Service)接口、WebSocket API以及IoT通信协议的接口等。


基于技术形式的API类型划分带有鲜明的技术特点,它有助于使用者了解其技术构成和该技术的交互细节,了解该技术形式所带来的特有的安全特性和安全风险,做出准确的判断和合理的处置。

3、基于使用者的类型划分

不同的API提供不同的业务功能供不同的用户使用,这些使用者可能是具体的自然人用户,也可能是前端应用程序,还有可能是终端设备,基于API使用者的不同,现代API可以划分为用户参与型API、程序调用型API和IoT设备型API。

  • 用户参与型API:此类API在业务交互过程中,需要自然人用户参与,比如用户单击操作、与用户身份相关的会话保持、与用户身份相关的访问控制等。大多数互联网应用中使用的API为此种类型。
  • 程序调用型API:API调用中,存在某些场景下无自然人用户参与的情况,仅仅是后端服务或前端应用程序之间的通信处理。这些场景下的API属于此类型的API。
  • IoT设备型API:除了上述两类API之外,还有一些API仅仅提供给IoT设备调用,在交互流程上比上述两类要简单,或设备内无法完成流程,需要离线操作。


基于API的使用者对现代API做类型划分,有助于API设计者和研发人员梳理交互流程,识别不同场景下适用的安全机制,制定不同的安全控制策略来提高API服务的安全性。

相关文章
|
3月前
|
监控 搜索推荐 数据挖掘
淘宝 API 接口的调用频率限制是否会因应用类型而异?
淘宝API调用频率限制依应用类型而异。电商管理类如商家后台、商品批量上传工具,调用频次较高;数据分析类如市场调研、店铺分析工具,频次较严;导购推荐类如第三方导购平台、社交媒体导购应用,依据规模与信誉设定;其他如开发者测试、个人小型应用则限制较宽松。
|
8月前
|
前端开发 JavaScript API
TS 中的类型验算,高级通用 API 实现
这篇文章介绍了一些常用的类型通用API封装,包括TS内置类型和关键字的使用,以及TS compiler内部实现的类型。文章截取了一些常用的类型定义和API示例,如Partial、Required、Readonly、NonNullable、Parameters等。还介绍了一些常用的TS关键字,如extends、infer、keyof、typeof、in等。此外,文章还提供了一些实现示例,如Optional API、GetOptional API和UnionToIntersection API。该文章会不断更新。
|
4月前
|
存储 程序员 API
【收藏】非API函数检测操作系统类型
【收藏】非API函数检测操作系统类型
|
8月前
|
XML API 网络架构
API 常用的接口类型都有哪些?
在软件开发的宏大舞台上,接口充当着不可或缺的角色,确保了不同的软件模块能够高效、无缝地沟通和协作。
|
8月前
|
JSON 关系型数据库 MySQL
这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
【1月更文挑战第17天】【1月更文挑战第84篇】这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
128 1
|
8月前
|
XML API 网络架构
API的类型及其区别是什么?
API的类型及其区别是什么?
376 0
|
XML JSON API
API类型和集成规范指南
API类型和集成规范指南
220 0
|
XML API 网络架构
什么是API接口?API接口的类型,如何调用API接口?
当今互联网技术的发展越来越快,越来越多的网站和应用程序需要获取外部数据来提供更好的服务和用户体验,这就需要使用API接口。本文将会对API接口的概念、类型以及如何调用API接口进行简要介绍。 一、什么是API接口? API(Application Programming Interface)是应用程序开发接口的缩写,意思是一些预设好的函数或方法,这些预设好的函数或方法允许第三方程序通过网络来调用数据或提供基于数据的服务。 API分为很多类别,比如:操作系统API、Web API、平台API等等。对于Web API,它是一种通过网络访问后端系统的电子接口,其中可以包含一些众所周知的Web标
|
API 数据格式 JSON
Serverless-devs怎么设置mock 类型的api 呢?mock 类型的的返回,Api gateway。
Serverless-devs怎么设置mock 类型的api 呢?mock 类型的的返回,Api gateway。
Serverless-devs怎么设置mock 类型的api 呢?mock 类型的的返回,Api gateway。
|
XML Java 测试技术
淘宝API开放平台申请两种类型
淘宝API开放平台申请两种类型

热门文章

最新文章