当前位置:网站首页>Web API 介绍和类型
Web API 介绍和类型
2022-07-31 23:58:00 【华为云】
Web API 介绍
如果你是一个初学者,甚至一想到API都有些害怕。那是一种什么样的黑暗魔法?以及为什么每个人都向API开发者支付数十万的费用。难道他们喝血,在月光下围着羊群献祭吗?
很快,当那些很酷的孩子声称正在发明微积分时,你却不在状态,感觉就像下面的安迪。如果你认同它,你很幸运。我们要谈的是API。
什么是API?
API 是 Application Programming Interface的缩写,但没有人这样称呼它,就像没有人称USB 为 Universal Serial Bridge(通用串行桥)。API 的技术含义是,它是一套用于构建、通信和集成应用软件的定义和协议,因此称为 “接口”。
但撇开技术术语不谈,API 只是一种与应用程序互动的方式,其内部工作原理对外部用户是不可见的。API 允许外部用户(客户)从应用程序或服务器 "请求 "(request)一些东西,并获得相应的 “响应”(response)。
事实上,你已经使用了相当于现实世界中的 API 。例如,乘坐老式的出租车。要想坐上出租车,你需要:
“Request” :要求出租车来接你,并附上你的联系方式和位置信息
"Response":在对你的请求的 "回应 "中,你会得到出租车的详细信息,并且出租车会来接你。你再次 "要求 "( "Request" )出租车司机把你带到一个特定的地点。在 "回应 "("Response")中,出租车司机将你送到你想要的地方。
现在,你不需要知道如何操作汽车,就能从一个地方到另一个地方,出租车司机就像一个API 。你可能对汽车的操作一无所知,但你可以与 API 层,也就是司机,进行互动,并导航到你想要的结果。
另一种看待 API 的方式是,它是一个神奇的盒子,以一种非常具体的格式接受输入,并以一种非常具体的格式给出输出。在应用程序开发中,这种输入和输出(I/O)的 "标准化 "是很有用的,它使开发者很容易与他们不控制的系统进行交互。
API 的类型
如果你听说过 API 这个词,有可能它是用来指一种非常特殊的 API 类型,叫做Web API。然而,一般来说,根据 API 的用途,API 一词可能有其他含义。
根据用途,API 可以大致分为以下四类:
- Web APIs 用于在服务器和客户端之间通过互联网进行通信。Web API 顾名思义是一种非常特殊的 API 类型,用于在互联网上互动和操作信息或资源。
- Remote APIs 定义了在不同机器上运行的应用程序的交互标准。例如,将数据库连接到程序的 JDBC 连接 API 。
- 库和框架作为软件的接口,也是 API 的一种。
- 操作系统可以为应用程序指定 API ,以便与设备互动。例如,带有摄像头的安卓设备需要一个操作系统 API ,以使任何应用程序能够控制摄像头。
边栏推荐
- [Reading Notes -> Data Analysis] 02 Data Analysis Preparation
- lua入门案例实战1234定义函数与标准函数库功能
- /usr/local/bin和/usr/bin的区别
- SQL注入 Less38(堆叠注入)
- Recommendation system: Summary of common evaluation indicators [accuracy rate, precision rate, recall rate, hit rate, (normalized depreciation cumulative gain) NDCG, mean reciprocal ranking (MRR), ROC
- [MATLAB project combat] LDPC-BP channel coding
- 命名实体识别-模型:BERT-MRC
- [1161. The maximum sum of elements in the layer]
- 信奥学习规划 信息学竞赛之路(2022.07.31)
- @JsonFormat(pattern=“yyyy-MM-dd“)时间差问题
猜你喜欢

面试突击69:TCP 可靠吗?为什么?

vector的基本实现

景区手绘地图的绘制流程
Mysql environment installation under Linux (centos)

网易云信圈组上线实时互动频道,「破冰」弱关系社交

One line of code to solve CoreData managed object properties change in SwiftUI problem of animation effects

Shell常用脚本:Nexus批量上传本地仓库增强版脚本(强烈推荐)
![[1161. The maximum sum of elements in the layer]](/img/59/7810f425431779aa719458038ea0b3.png)
[1161. The maximum sum of elements in the layer]

手写一个简单的web服务器(B/S架构)

浏览器下载快捷方式到桌面(PWA)
随机推荐
游戏安全03:缓冲区溢出攻击简单解释
When can I use PushGateway
Flutter教程之 02 Flutter 桌面程序开发入门教程运行hello world (教程含源码)
2022年最新重庆建筑八大员(电气施工员)模拟题库及答案
I don't know what to do with sync issues
[QNX Hypervisor 2.2用户手册]9.15 suppress
[QNX Hypervisor 2.2 User Manual]9.16 system
2022年CSP-J1 CSP-S1 第1轮初赛 报名指南
Input and output optimization
编写方法将一个数组扁平化并且去重和递增排序
C# Rectangle basic usage and picture cutting
力扣2326、197
SQL注入 Less38(堆叠注入)
如何设计高可用高性能中间件 - 作业
景区手绘地图的绘制流程
【Acwing】第62场周赛 题解
SVN server construction + SVN client + TeamCity integrated environment construction + VS2019 development
Handwritten a simple web server (B/S architecture)
SQL注入 Less46(order by后的注入+rand()布尔盲注)
南方科技大学:Xiaoying Tang | AADG:视网膜图像分割领域泛化的自动增强