应用程序编程接口 (API) 是计算机程序或服务相互通信的一种方式。这种通信通常通过客户端使用的程序公开的 API 端点进行。
本文比较了两种流行的构建 API 的方法:表述性状态转移 (REST) API 和 Web API。
什么是 REST API?
与普遍 WS 数据库 的看法相反,REST API 不是一种协议。它是一种架构,并且是目前最流行的API开发架构。正如我们在 GraphQL 与 REST:您需要知道的一切 中所解释的,REST 是无状态的,因此请求之间不会存储任何数据或状态。
REST 还为构建通过 HTTP 进行通信的应用程序定义了几个架构约束:
客户端-服务器架构
无国籍(没有国家)
统一接口
可缓存性
分层系统架构
按需代码
REST 比其他协议或 API 架构更易于使用。此外,它还具有许多优势,使其成为许多开发人员构建 API 的首选:
不同的消息格式:REST API 主要与 JSON 一起使用以进行数据序列化,但它们适用于不同的消息格式,包括 JSON、HTTP、纯文本和 XML。这些选项使它比主要通过 HTTP 与 XML 协同 美国隐私法和数据匿名化 工作的服务对象访问协议 (SOAP) 等协议更具优势;像 JSON 这样的选项明显更轻量,由于数组支持而更加灵活,并且比 XML 更容易解析。
HTTP 方法:REST 通常与 GET、POST、PATCH、DELETE 或 PUT 方法之一一起使用来检索数据和发出请求,具体取决于服务实现。这些方法返回常见的 HTTP 成功和失败代码。其他方法包括 OPTIONS、HEAD 和 TRACE。这些方法在不同服务之间是不一致的,因为一些提供商可能根据他们的需求只实现一种方法。
解耦架构:REST 具有客户端-服务器架构,因此其逻辑与表示是分开的:您可以同时处理多个部分而不会受到干扰。
可扩展性:REST API 简单,因此易于使用。但是,如果您需要扩展,则可以创建新的端点来合并更复杂的逻辑。
可缓存性:虽然 REST 是无状态的,但可以缓存客户端上的服务器响应,以避免重复冗余请求。服务器响应通常提供有关如何执行缓存的信息:客户端应该在一定时间内缓存请求。
安全性:在大多数情况下,REST 端点通过 HTTPS 端点公开,这确 巴西商业名录保所有 API 通信都通过 TLS/SSL 进行保护。 REST 还支持其他授权和身份验证方案,例如 OAuth2 和 JSON Web Tokens (JWT)。
什么是 Web API?