# 全面了解应用程序编程接口 (API)

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/3271.html | 发布：2021-12-23 | 更新：2022-03-24 | 分类：IDC云库

应用程序编程接口 (API) 是一组规则，使软件程序能够将数据传输到另一个软件程序。API 使开发人员能够避免冗余工作；与构建和重建已经存在的应用程序功能不同，开发人员可以通过按照 API 要求格式化请求，将现有功能整合到他们的新应用程序中。

应用程序编程接口 (API) 是一组规则，使软件程序能够将数据传输到另一个软件程序。API 使开发人员能够避免冗余工作；与构建和重建已经存在的应用程序功能不同，开发人员可以通过按照 API 要求格式化请求，将现有功能整合到他们的新应用程序中。

 

API 是一种“接口”，意思是一种事物与另一种事物进行交互的方式。作为一个真实的例子，A​​TM 有一个界面——一个屏幕和几个按钮——允许客户与他们的银行互动并请求服务，比如取钱。同样，API 是一个软件如何与另一个程序交互以获得所需服务的方式。

 

![全面了解应用程序编程接口 (API)](https://www.mfisp.com/wp-content/uploads/2021/12/2021122306492069.jpg)

 

想象一下，詹妮弗建立了一个网站，帮助通勤者在上班前检查公路交通。Jennifer 可能会花费大量时间和金钱来建立一个复杂的高速公路跟踪系统，以将这些信息提供给她网站的用户。但是这些能力已经存在，因为外部各方已经创建了这样的系统。Jennifer 的网站没有以这种方式重新发明轮子，而是使用由外部高速公路跟踪服务提供的 API。现在 Jennifer 可以专注于构建网站的其他方面。

 

## 什么是 API 调用？

 

API 调用，也称为 API 请求，是指向触发 API 使用的 API 的消息。回顾该示例，Jennifer 构建她的网站时，它会在加载时自动生成对高速公路跟踪服务的 API 调用。响应从该服务返回到网站，并使其能够显示最新的高速公路交通信息。

 

API 调用必须按照 API 的要求进行格式化才能工作。API 的要求称为其“架构”。该模式还描述了提供给每个请求的响应类型。

 

假设一位通勤者使用 Jennifer 的网站检查 192 号高速公路上的交通情况。该网站发送一个 API 调用来提供此信息 — 一条消息，内容为“192 号高速公路”。高速公路跟踪服务的 API 服务器收到此消息并回复 192 号高速公路上的行驶时间。想象一下 API 的架构是这样的：

 

| **接口请求** | **API 响应** |
|---|---|
| 《192号公路》 | 192 号公路行驶时间 |
| 《217号公路》 | 217 号公路行驶时间 |
| 《225号公路》 | 225 号公路行驶时间 |

 

（请注意，这是一个高度简化的示例——现实世界的 API 请求、响应和模式更为复杂。）

 

现在假设 Jennifer 的网站向“Highway ASDFGHJ”发送 API 请求。这不是一个有效的请求，因为它不符合 API 的模式，它只允许高速公路的实际名称。服务器将无法对此类请求提供可用的响应。

 

## 什么是 API 端点？

 

端点是通信通道的末端。每个通信渠道都至少有两个端点，就像现实生活中的对话至少包括两个人一样。API 端点是 API 调用或响应源自的地方。

 

在示例中，API 连接的一个端点是 Jennifer 的网站，另一个是托管 API 的服务器。Jennifer 的 API 调用必须转到API 服务器负责的某个 URL（URL 是一个网址）才能获得响应。

 

## 什么是 API 集成？

 

API 集成是使用 API 的两个或多个应用程序的组合。API 集成使一个应用程序能够从另一个应用程序的功能中受益，就像将销售团队和营销团队结合在一个办公室中可以使这两个团队一起工作并从彼此的努力中受益一样。API 集成也常用于在两个应用程序或数据库之间同步数据。

 

## 什么是 Web API？

 

任何涉及计算机代码的东西都可以有一个 API，从操作系统到软件库。Web API 专门供通过 Internet 访问的 Web 应用程序使用。

 

Web API 对于现代互联网来说非常重要。几乎所有面向用户的应用程序都依赖 API 来运行（不仅仅是 Jennifer 的网站！）。整个软件开发理念都依赖于 API 的使用——其中一种理念是JAMstack，JAM 代表 JavaScript、API、标记。另一个例子是微服务架构，它使用 API 来调用构成应用程序的不同功能。即使没有这些方法构建的应用程序通常也依赖于 API。

 

## 什么是 SOAP API 和 REST API？

 

SOAP API 和 REST API 描述了不同类别的 API。

 

SOAP（简单对象访问协议）是一种协议。SOAP API 是仅使用 SOAP 协议的 API。

 

REST（REpresentational State Transfer）是一种 Web 服务的架构风格。REST API 是使用 REST 架构构建的任何 API。与 SOAP API 不同，REST API 可用于任何协议。今天的大多数 API 都是 REST API。

 

## API 是否会带来安全风险？

 

正如允许一个人使用应用程序会带来该人滥用该应用程序的风险一样，API 也会带来 API 客户端滥用该服务的风险。此外，Web API 调用通过 Internet 传输，并且可以像通过网络传输的任何其他数据一样被拦截、欺骗或修改。

 

API 安全是保护 API 免受攻击和滥用的做法。鉴于 API 对现代 Internet 的重要性，API 安全性是Web 应用程序安全性的核心组件。关键的 API 安全措施包括：

 
 
- 速率限制：发出过多 API 请求的客户端可能会减慢或崩溃其他客户端的 API。速率限制对在特定时间范围内来自给定 API 端点的 API 请求数量设置了上限。 
- DDoS 保护：类似于速率限制，分布式拒绝服务 (DDoS) 保护可阻止DDoS 攻击，其目的是用一次性发送的大量请求耗尽或淹没 API。 
- 身份验证：对 API 端点进行身份验证很重要，以确保 API 请求来自合法来源而不是来自攻击者。相互 TLS (mTLS) 是最有效的 API 身份验证形式之一。 
- 模式验证：如果 API 请求不符合 API 的模式，API 可能会以意想不到的方式做出反应——例如，通过泄露机密数据。架构验证使 API 能够删除此类请求。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
