介绍
你可能听说过API这个词,但可能想知道它是什么,有什么作用。Web API是一套工具,它允许网站开发者通过连接到Web服务器来发送和接收指令及数据。我们今天使用的许多网站和Web应用程序都由API驱动。.
在Web应用程序中,前端代码并不直接与数据库通信。相反,数据是通过一个名为API的层进行发送和接收的。API充当后端数据库操作和用户交互的前端应用程序之间的中间层。.
本质上是一个 API 层:
- 确保网页可以发送和接收请求。.
- 它会在将请求发送到后端之前验证请求的格式是否正确。.
- 返回预期格式的数据以及一些附加信息。.
- 告诉网页为什么没有返回数据。.
API 的类型
API 有多种类型,安全性和隐私性也各不相同。API 主要分为 4 种类型,我们将在下文中逐一探讨:
1- 公共 API
公共 API(也称为外部 API)以最少的限制向开发者和其他用户开放。使用此类 API 可能需要注册并使用 API 密钥,也可能完全开放。此类 API 旨在供外部用户访问数据或服务。.
2- 内部 API
与开放API不同,内部API的设计目的是对外部用户隐藏。它们用于公司内部资源共享,使企业的不同团队或部门能够相互使用彼此的工具、数据和应用程序。.
3. 合作伙伴 API
这类API在技术上与开放API非常相似,但访问权限有限,通常由第三方API网关控制。它们通常用于特定用途,例如提供对付费服务的访问。.
4. 混合型 API
混合 API 允许开发者通过一次调用访问多个端点。单个 API 中的端点可以包含多个属性,也可以是一个服务或资源。混合 API 在微服务架构中尤其有用,因为执行任务可能需要来自多个服务的信息。使用混合 API 可以降低延迟并改善应用程序的用户体验,因为一次调用即可返回所有必需的信息。.
API协议类型
我们还可以根据协议类型对 API 进行分类。API 协议包含一系列规则,这些规则决定了 API 可以与客户端共享哪些信息以及如何共享数据。. RPC, 肥皂 和 休息 这些是目前最常用的一些API协议。我们将在下文中详细介绍每种协议。.
远程过程调用(RPC)
RPC协议是三种架构中最简单的。与REST和SOAP(用于数据传输)不同,RPC API调用进程。换句话说,它们在服务器上执行脚本。RPC API可以在调用中使用JSON或XML。.
服务对象访问协议(SOAP)
SOAP 是一种用于在网络上传输数据的协议,可用于构建 API。SOAP 精确地规定了消息的发送方式以及消息中包含的内容。这使得 SOAP API 比 REST API 更安全。.
表述性状态转移(REST)
如今大多数 Web API 都基于 REST 构建。REST 是一套用于构建可扩展、轻量级且易于使用的 API 的准则。REST API 是一种遵循 REST 准则的 API,用于将数据从服务器传输到请求客户端。.
总而言之,REST API 指南包括以下内容:
- 客户端-服务器解耦:所有客户端-服务器交互都应该采用客户端发出请求,然后服务器发出响应的形式。.
- 统一接口:所有请求和响应必须使用 HTTP 作为通信协议,并且必须以特定方式格式化,以确保客户端和服务器之间的兼容性。.
- 独立性:每次客户端-服务器交互都应独立于其他交互。服务器不存储任何客户端请求数据,也不记住任何过往交互的信息。.
- 分层系统:即使通过客户端和 API 之间的中间服务器发送,请求和响应也必须始终以相同的方式格式化。.
- 可缓存:遵循这些准则,REST API 可以用于快速、简单和安全的数据传输,使其成为开发人员的热门选择。.
根据用例划分的 API 类型
API 的另一种分类方式是按使用场景划分,其中包括:
开放 API
从结构上看,开放API是一种用于定义标准REST API结构和语法的标准格式。开放API文档既可供机器阅读,也可供人阅读,使任何人都能轻松了解每个API的工作原理。工程师可以使用开放API来编写和设计服务器,以及开发和运行测试。.
API网关
大多数企业级 API 都通过 API 网关部署。API 网关通常执行 API 服务系统中常用的典型任务,例如用户身份验证、速率限制等。API 网关服务接收远程请求并返回响应。.
Web API
Web API 是一种应用程序接口,它包含一组函数。这组函数允许程序员访问应用程序的某些特定功能或数据。顾名思义,Web API 是一种使用 HTTP 协议访问 Web 的 API。它可以帮助您创建和开发基于 HTTP 的 REST 服务。.
API有什么用途?
正如API定义中所述,API使公司能够向外部第三方开发者、业务合作伙伴以及公司内部部门开放其应用程序的数据和功能。这使得服务和产品能够通过已记录的接口相互通信并使用彼此的数据和功能。开发者无需了解如何实现API,他们只需使用接口即可与公司的其他服务和产品进行通信。.
什么是API密钥?
API密钥是用于验证API调用的唯一标识符。API密钥是一串字母和数字,用于识别客户端。该密钥根据客户端的访问权限授予或拒绝请求,并跟踪请求次数以用于使用情况和计费。. 通过限制只有拥有密钥的人才能访问,公司可以控制对其 API 的调用次数,并确保只有特定的、受信任的客户群体才能访问其服务器资源。.
GraphQL
GraphQL 是一种开源查询语言,用于为移动和 Web 应用程序提供数据。它与 REST 类似,都用于获取应用程序所需的数据,但其数据检索方式截然不同。. 虽然 REST API 非常出色且应用最为广泛,但 GraphQL 引入了一种新的 API 技术,可以用来提高效率和灵活性。.
软件和API有什么区别?
软件和API最大的区别在于它们对用户的影响。两者都提供某种形式的连接,但API是供软件程序使用的,而软件程序则是供人使用的。.
API 通常只是特定软件的一部分,而且你使用的大多数应用程序在某种程度上都依赖于多个 API。.
另一方面,应用程序则灵活得多。应用程序可以使用多个 API 来帮助用户完成任务。API 的设计旨在轻松与您选择的软件集成,并且可以专门用于工作流程和个人用户。.









