API 是 Application Programming Interface 三个单词首字母的缩写,中文含义为应用程序编程接口。API 的组件包括调用、密钥、端点。API 调用是客户端应用程序转发到服务器的请求。API 端点就像一个入口,里面有抢手的资源(数据或功能)。终端节点检查 API 密钥,如果获得批准,则发回响应,其中包含有关操作状态(错误或成功)和请求的资源的信息。
所有的 API 都包含一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
有两种类型的公共 API – 开放 (免费) 和商业 API。商业 API 用户支付订阅费或按量付费使用 API。开放公共 API 是指所有功能都公开且可供使用而没有限制性条款和条件的 API。例如,可以构建一个使用 API 的应用程序,而无需 API 供应商的明确批准或强制性许可费用。
API 的出现让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是抽象的,它仅定义了一个接口,而不涉及应用程序在实际实现过程中的具体操作。
API可让程序员做很多任务作,譬如“读取文件”、“显示菜单”、“在视窗中显示网页”等等。操作系统的API可用来分配存储器或读取文件。许多系统应用程序借由API接口来实现,像是图形系统、数据库、网络Web服务,甚至是在线游戏。
API通常通过客户端和服务器之间的请求-响应通信来表达。客户端是用户与之交互的任何前端应用程序。服务器负责后端逻辑和数据库操作。在这种情况下,API 充当客户端和服务器之间的中间层,从而可以发送数据请求和响应。
应用程序编程接口必须与用户界面明确区分开来。用户界面接受来自用户的数据,将其转发到 API 进行处理,并将结果返回给用户。API 不与用户交互,而是处理从一个程序模块接收的数据,并将结果传回另一个模块。
例如,在京东上下单付款,通过顺丰发货,然后就可以在京东上实时查看当前的物流信息,这就用到了 API。背后的原理,当查看快递信息时,京东利用顺丰提供的API接口,实时调取信息呈现在自己的网站上。实际上只要被允许,别的公司都可以通过顺丰提供的API接口调取到快递信息。