API常见的三种分类

简介: 【6月更文挑战第4天】基于现代API的服务对象不同、技术形式不同、使用者不同,可以对现代API做不同类型的划分。

现代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服务的安全性。

相关文章
|
缓存 API 流计算
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
|
22天前
|
API 数据处理 开发者
获取淘宝分类详情:深入解析taobao.cat_get API接口
淘宝开放平台推出的`taobao.cat_get` API接口,帮助开发者和商家获取淘宝、天猫的商品分类详情。该接口支持获取类目列表、属性及父类目信息,通过指定分类ID(cid)实现精准查询,并提供灵活的参数设置和高效的数据处理。使用流程包括注册账号、创建应用、获取App Key/Secret、构造请求、发送并解析响应。示例代码展示了如何用Python调用此API。开发者可借此为电商项目提供数据支持。
|
21天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
47 5
|
2月前
|
存储 JSON API
淘宝API接口实战:高效获取商品标题、分类及店铺名称
在淘宝API接口实战中,通过以下步骤高效获取商品标题、分类及店铺名称:1. 准备工作:了解淘宝开放平台文档,注册开发者账号,选择开发语言和工具。2. 获取API访问权限:申请相应权限,提供应用场景说明。3. 调用API接口:构建HTTP请求,提供必要参数。4. 解析响应数据:提取JSON数据中的所需信息。5. 数据处理和存储:进一步处理并存储数据。6. 注意事项:遵守使用规范,注意调用频率和数据安全。示例代码使用Python调用淘宝API。
|
7月前
|
XML 安全 API
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
118 5
|
移动开发 JavaScript 前端开发
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
227 0
|
JSON 前端开发 JavaScript
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
195 0
|
8月前
|
存储 缓存 Java
【Java IO流】流的分类,API使用,文件操作
【Java IO流】流的分类,API使用,文件操作
119 1
|
8月前
|
SQL 前端开发 Java
三级分类的数据表设计和构造API数据
三级分类的数据表设计和构造API数据
105 0

热门文章

最新文章