什么是 Rest 动词

简介: 罗伊·菲尔丁(Roy Fielding)创造了 Representational state transfer (REST)的名称。与 SOAP 相比,这是一项非常简单且轻巧的 Web 服务。性能,可扩展性,简单性,可移植性和可修改性是其余设计背后的主要原则。REST 是一种无状态,可缓存和简单的体系结构,不是协议,而是模式。

罗伊·菲尔丁(Roy Fielding)创造了 Representational state transfer (REST)的名称。与 SOAP 相比,这是一项非常简单且轻巧的 Web 服务。性能,可扩展性,简单性,可移植性和可修改性是其余设计背后的主要原则。REST 是一种无状态,可缓存和简单的体系结构,不是协议,而是模式。


REST 动词指定要对特定资源或资源集合执行的操作。当客户端发出请求时,它应该在 HTTP 请求中发送以下信息:


  • REST 动词
  • 头信息
  • 主体(可选)

REST 使用 URI 来解码其要处理的资源。有很多可用的 REST 动词,但其中有六个是经常使用的。它们如下:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • OPTIONS

如果您是软件开发人员,那么您大部分时间都会处理这六个问题。下表说明了操作、目标资源以及请求成功或失败时会发生什么:


image.png



上表的成功失败列中的数字是 HTTP 状态代码。每当客户端启动 REST 操作时,由于 REST 是无状态的,客户应该知道一种方法来找出该操作是否成功。因此,HTTP 设计出具有响应的状态代码。REST 定义给定操作的前一个状态代码类型。这意味着 REST API 应严格遵循前面的规则来实现客户端与服务器的通信。


所有定义的 REST 服务都具有以下格式。它由主机和 API 端点组成。 API 端点是服务器预定义的 URL 路径。每个 REST 请求都应该到达该路径。


REST API URI:http://HostName/API endpoint/Query(optional)


让我们更详细地查看所有动词。REST API 设计始于操作的定义和 API 端点。在实现 API 之前,设计文档应列出给定资源的所有端点。在以下部分中,我们仔细观察使用 PayPal 的 REST API 作为用例的 REST API 端点。


GET 方法

GET 方法从服务器获取给定的资源。为了指定一个资源,GET 使用了几种类型的 URI 查询:

  • 查询参数
  • 基于路径的参数

如果您不知道,您对网络的所有浏览都是通过对服务器执行 GET 请求来完成的。例如,如果您输入 www.google.com ,则实际上是获取获取搜索页面的 GET 请求。在这里,您的浏览器是客户端,Google 的 Web 服务器是 Web 服务的后端实现者。成功的 GET 操作返回 200 状态码。


路径参数的示例:


每个人都知道 PayPal。PayPal 与公司创建结算协议。如果您注册 PayPal 的支付系统,他们为您提供 REST API,以满足您的所有帐单需求。示例获取获取结算协议信息的请求如下所示:

/v1/payments/billing-agreements/agreement_id.

相关文章
|
缓存 负载均衡 网络安全
什么是proxy?优点是什么?
什么是proxy?优点是什么?
611 0
|
10月前
|
缓存 监控 API
微店商品详情API接口实战指南:从零实现商品数据自动化获取
本文介绍了微店商品详情API接口的应用,涵盖申请与鉴权、签名加密、数据解析等内容。通过Python实战演示了5步获取商品数据的流程,并提供了多平台同步、价格监控等典型应用场景。开发者可利用此接口实现自动化操作,提升电商运营效率,降低人工成本。文中还总结了频率限制、数据缓存等避坑指南,助力开发者高效使用API。
|
存储 运维 关系型数据库
开源新发布|PolarDB-X v2.4.1 增强企业级运维能力
PolarDB-X 是阿里云推出的云原生分布式数据库,自2021年10月开源以来,持续迭代升级,至2024年4月发布的v2.4.1版本,重点增强了企业级运维能力,如无锁变更、物理扩缩容、数据TTL等,提供金融级高可用、透明分布式、HTAP一体化等特性。PolarDB-X 支持集中式和分布式一体化形态,兼容MySQL生态,适用于金融、通信、政务等行业。
2022 101
阿里云国际版购买了服务器后如何下载发票?
阿里云国际版购买了服务器后如何下载发票?
|
IDE 算法 开发工具
Scratch编程v3.29.1少儿编程工具
SCRATCH是一款由麻省理工学院(MIT)媒体实验室开发的图形化编程语言和集成开发环境(IDE)。它的目标是让编程变得有趣、直观且易学,尤其是针对儿童和青少年群体。通过SCRATCH,用户可以通过拖放代码块的方式来创建动画、故事、游戏等多媒体项目,无需深入了解复杂的编程语法和结构。
400 2
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
417 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
运维 监控 安全
构建高效运维体系的策略与实践
【10月更文挑战第7天】 本文旨在探讨如何构建高效的运维体系。从明确定义目标、优化流程、引入自动化工具、建立监控机制到提升团队能力,我们将全面解析高效运维体系的构建步骤和关键要素。通过具体策略和成功案例的分享,帮助运维团队提升工作效率、减少故障发生,并持续改进运维质量。
443 0
|
自然语言处理 程序员 Windows
[UE虚幻引擎] DTSpeechVoice 文字转语音播放 插件说明
这个插件用于在虚幻引擎(UE)中通过蓝图将文本转化为语音播放,利用Windows内置的语音引擎,支持Win10和Win11。确保电脑已安装语音系统,可能需要额外下载语言包以支持多语言播放。蓝图操作包括添加Speech Voice Component到Actor,使用Speak节点播放文本,Set Volume调整音量,Set Rate改变播放速度,Pause和Resume控制播放状态,Stop则停止播放且无法恢复。此外,Get Tokens和Set Token用于管理语音类型。更多详情可访问[80后程序员](https://dt.cq.cn/archives/1008?from=aliyun)
518 5
|
安全 网络安全 开发工具
【Git】gui图形化界面的使用、ssh协议以及idea集成Git
【Git】gui图形化界面的使用、ssh协议以及idea集成Git
606 0
|
网络协议 前端开发 应用服务中间件
没有云服务器?内网穿透了解一下
没有云服务器?内网穿透了解一下
1682 0
没有云服务器?内网穿透了解一下