资源应该是唯一的
Posted: Mon Dec 23, 2024 6:43 am
而传统 API 可能需要在系统之间传递额外的上下文或信息。 这种特殊类型的 API 遵循六个特定的架构要求: 完全无状态:客户端向服务器发出的请求必须包含服务器理解和适当处理这些请求所需的所有信息。服务器不能包含任何有关客户端状态的信息。 本机缓存:请求响应中的数据必须标记为可缓存或不可缓存。 统一接口:要拥有统一接口,需要几个架构约束来指导组件的行为。以便可以通过单个 URL 进行标识。 按需代码:由于 REST API 以小程序或脚本的形式下载和执行代码,因此客户端可以使用更多功能。
通常,服务器将以 XML 或 JSON 的形式返回资源的静态表示。服务器还可以在必要时向客户端发送可执行代码。 客户端-服务器架构:统一的接口将用户关注点与数据存储关注点分开。客户端领域关注 UI 和请求收集,而服务器领域 荷兰电话号码几位数 关注数据访问、工作负载管理和安全性。客户端和服务器的分离允许每个领域独立开发和增强。 分层系统: REST 允许由分层结构组成的架构。每个组件都无法看到与其交互的直接层以外的内容。 主要功能比较 安全 尽管 RESTful API 提供了一种更简单的方法来访问和操作应用程序,但仍可能出现安全问题。
例如,客户端每秒可以发送数千个请求并导致服务器崩溃。REST API 的其他安全挑战包括: 缺乏适当的身份验证 缺乏速率限制和节流 缺乏有效载荷加密 HTTPS 的错误实现 脆弱的 API 密钥很容易被破解 可扩展性 REST API 具有高度可扩展性。它们是无状态的,这意味着每个请求都包含服务器处理它所需的所有必要信息。这种设计允许 REST API 处理大量并发请求并轻松跨多台服务器扩展。 速度 数据传输的速度和对数据传输速度的影响可能因所涉及的 API 类型而异。
通常,服务器将以 XML 或 JSON 的形式返回资源的静态表示。服务器还可以在必要时向客户端发送可执行代码。 客户端-服务器架构:统一的接口将用户关注点与数据存储关注点分开。客户端领域关注 UI 和请求收集,而服务器领域 荷兰电话号码几位数 关注数据访问、工作负载管理和安全性。客户端和服务器的分离允许每个领域独立开发和增强。 分层系统: REST 允许由分层结构组成的架构。每个组件都无法看到与其交互的直接层以外的内容。 主要功能比较 安全 尽管 RESTful API 提供了一种更简单的方法来访问和操作应用程序,但仍可能出现安全问题。
例如,客户端每秒可以发送数千个请求并导致服务器崩溃。REST API 的其他安全挑战包括: 缺乏适当的身份验证 缺乏速率限制和节流 缺乏有效载荷加密 HTTPS 的错误实现 脆弱的 API 密钥很容易被破解 可扩展性 REST API 具有高度可扩展性。它们是无状态的,这意味着每个请求都包含服务器处理它所需的所有必要信息。这种设计允许 REST API 处理大量并发请求并轻松跨多台服务器扩展。 速度 数据传输的速度和对数据传输速度的影响可能因所涉及的 API 类型而异。