rest api开发的工作原理是什么

发布时间:2022-09-26 11:37:25 作者:iii
来源:亿速云 阅读:115

这篇文章主要介绍“rest api开发的工作原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“rest api开发的工作原理是什么”文章能帮助大家解决问题。

RESTful API 的工作原理

RESTful API 分解事务以创建一系列小模块。每个模块处理事务的底层部分。这种模块化为开发人员提供了很大的灵活性,但是对于开发人员来说,从头开始设计他们的 REST API可能是一个挑战。目前有几家公司提供模型供开发者使用;Amazon S3、云数据管理接口 ( CDMI ) 和OpenStack Swift提供的模型是最受欢迎的。

RESTful API 使用命令来获取资源。任何给定时间戳的资源状态称为资源表示。RESTful API 使用 RFC 2616 协议定义的现有 HTTP 方法,例如:

GET 检索资源;

PUT 更改或更新资源的状态,可以是对象、文件或块;

POST 创建该资源;和

删除以将其删除。

使用 REST,网络组件是用户请求访问的资源——就像一个实现细节不明确的黑匣子。所有调用都是无状态的;RESTful 服务在执行之间不能保留任何内容。

REST API 支持的数据格式包括:

应用程序/json

应用程序/xml

应用程序/x-wbe+xml

应用程序/x-www-form-urlencoded

多部分/表单数据

用途

因为调用是无状态的,REST 在云应用程序中很有用。如果出现故障,无状态组件可以自由重新部署,并且可以扩展以适应负载变化。这是因为任何请求都可以指向组件的任何实例;没有任何东西需要被下一次交易记住。这使得 REST 更适合 Web 使用。RESTful 模型在云服务中也很有帮助,因为通过 API 绑定到服务是控制 URL 解码方式的问题。云计算和微服务几乎肯定会让 RESTful API 设计成为未来的规则。

RESTful API 设计和架构约束

RESTful API 设计由 Roy Fielding 博士在其 2000 年的博士论文中定义。为了成为真正的 RESTful API,Web 服务必须遵守以下六个 REST 架构约束:

使用统一界面 (UI)。资源应该可以通过单个 URL 唯一标识,并且只有通过使用网络协议的底层方法,例如使用 HTTP 的 DELETE、PUT 和 GET,才能操作资源。

基于客户端-服务器的. 客户端和服务器之间应该有一个清晰的界限。UI 和请求收集问题是客户的领域。数据访问、工作负载管理和安全是服务器的领域。客户端和服务器的这种松散耦合使得每个都可以独立地开发和增强。

无状态操作。所有客户端-服务器操作都应该是无状态的,并且所需的任何状态管理都应该在客户端而不是服务器上进行。

RESTful 资源缓存。所有资源都应该允许缓存,除非明确指出缓存是不可能的。

分层系统。REST 允许由多层服务器组成的架构。

按需编码。大多数情况下,服务器将以 XML 或JSON的形式发回资源的静态表示。但是,在必要时,服务器可以向客户端发送可执行代码。

常见的 REST API 挑战

除了设计和架构限制之外,个人还必须面对 REST API 的一些挑战。一些可能具有挑战性的概念可能包括:

端点一致性——端点路径应遵循通用的 Web 标准保持一致,这可能难以管理。

API版本控制——端点 URL 在内部使用或与其他应用程序一起使用时不应失效。

响应时间长且数据过多——返回的资源量会随时间增加,从而增加负载和响应时间。

导航路径和用户输入位置——因为 REST 使用 URL 路径作为输入参数,确定 URL 空间可能具有挑战性。

安全性——有很多方面需要关注,包括使用:

HTTPS;

阻止来自未知 IP 地址和域的访问;

验证 URL;

阻止意外的大负载;

记录请求;和

调查失败。

身份验证——使用常见的身份验证方法,例如 HTTP 基本身份验证(允许使用 base64 编码的用户名:密码字符串)、API 密钥、JSON Web 令牌和其他访问令牌。例如,OAuth 2.0 有利于访问控制。

请求和数据——请求可能包含比所需更多的数据和元数据,或者可能需要更多请求才能获取所有数据。可以为此调整 API。

API 测试——设置和运行可能是一个漫长的过程。该过程的每个部分都可能很长,也可能具有挑战性。也可以使用实用工具 Curl 在命令行中进行测试。

可能具有挑战性的部分测试过程包括:

最初设定

架构更新

测试参数组合

序列 API 调用

验证测试参数

系统集成

定义错误代码和消息。

对于错误代码,更常见的做法是使用标准 HTTP 错误代码。这些更经常被客户和开发人员认可。

除了解析主体或检查错误之外,错误处理可能无法区分响应是否成功。

关于“rest api开发的工作原理是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. hbase REST API
  2. rest api是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rest api

上一篇:JSP如何引入JS文件

下一篇:JavaWeb的同源策略是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》