读书笔记:API的前世今生

举报
尔小麦 发表于 2022/12/24 10:50:04 2022/12/24
【摘要】 1、什么是API?API,全称Application Programming Interface,又称为应用程序编程接口。通过定义一组函数、协议、数据结构,来明确应用程序中各个组件间的通信与数据交互方式,将Web应用、操作系统、数据库以及计算机硬件或软件的能力以接口的形式,提供给外部系统使用。通俗来讲,就是房间里有很多插座可以使用,这个插座就可以理解为API,而是两孔插座还是三孔?就是API...

1、什么是API?

API,全称Application Programming Interface,又称为应用程序编程接口。通过定义一组函数、协议、数据结构,来明确应用程序中各个组件间的通信与数据交互方式,将Web应用、操作系统、数据库以及计算机硬件或软件的能力以接口的形式,提供给外部系统使用。通俗来讲,就是房间里有很多插座可以使用,这个插座就可以理解为API,而是两孔插座还是三孔?就是API协议定义的内容。

2、API的分类

(1)类库型API

通常是一个类库,开发者通过接口调用,访问API的内置行为,从而处理所需要的信息。如应用程序调用微软基础类库MFC。

(2)操作系统型API

通常是操作系统层对外部提供的接口,开发者通过接口调用,完成对操作系统行为的操作。如应用程序调用Windows API或Linux标准库。

(3)远程应用型API

开发者通过标准协议的方式,将不同的技术结合在一起,不用关心所涉及的编程语言或平台,来操纵远程资源。如Java通过JDBC连接操作不同类型的数据库

(4)Web应用型API

通常使用HTTP协议,在企业与企业、企业内部不同的应用程序之间,通过Web开发过程中架构设计的方法,以一组服务的形式对外提供调用接口,以满足不同类型、不同服务消费者的需求。如微博的用户登录。

3、现代API的类型划分

现代API以Web应用型API为主,

基于服务对象类型分为:公有型API、私有型API、混合型API;

基于技术形式类型分为:RESTful API、GraphQL API、SOAP API、gRPC API、类XML-RPC及其他类型API;

基于使用者类型分为:用户参与型API、程序调用型API、loT设备型API。

4、现代API常用协议和消息格式

当前互联网,RESTful API因简洁易用占据主流地位,资源URL格式:schema://host[:port]/version/path,schema是指定使用的应用层协议,如HTTP、HTTPS、FTP等;host是API服务器的IP地址或域名;port是指API服务器的端口;version是指API请求的版本;path是指API请求资源的路径。

资源请求分配的HTTP请求方法:用于获取资源对象的GET方法,用于服务器新增数据或资源的POST方法,用于获取资源请求的元数据HEAD方法,用于更新服务器资源的PUT方法,用于删除服务器资源的DELETE方法,用于查询与资源相关选项的OPTIONS方法等。

5、小结

从API的分类可以知道,API已经从当初单一的类库型API或操作系统型API扩展到如今的Web应用型API接口,这是商业发展和业务多样化驱动技术不断改进的必然结果。同时,API的存在对业务的意义也从单纯的应用程序接口定义的用于构建和集成应用程序软件的一组定义和协议,变成了业务交互的双方之间的技术约定。使用技术的双方,其产品或服务与另一方产品或服务在通信过程中,不必知道对方是如何实现的。

注:API的故事出处,《API安全技术与实战》钱君生等。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。