REST-表现层状态转换

REST,Representational State Transfer,即表现层状态转换,指的是一种为了让信息在互联网上顺利传递而设计的软件架构风格,即一种采用标准URI进行调用的方案。
REST的核心原则是将API拆分为逻辑上的资源,REST 的核心要素包括资源、表现层和状态转换这三个部分。
REST 是一种设计风格,而非协议或标准。而HTTP/HTTPS、HTML、XML等协议是 REST 风格的载体。

特点:被任何浏览器支持、有限的带宽和资源;无状态的CRUD;无状态信息缓存

2、URL规范

URL 指的是 Uniform Resource Locator,URI 指的是 Uniform Resource Identifier,前者是统一资源定位符,后者是统一资源标识符。Identifier 可以有多种形式,而 locator 只是其中一种,因此 URI 更宽泛,URL 只是 URI 的其中一种形式。

https://xxx/v1/books,通常包括域名、版本号、实体名称(通常以复数出现)。所有参数小写,使用下划线。为了支持API向后兼容,故嵌入版本号。

一个完整的地址,例如 https://www.google.com, 它就是 URL。因为它可以被“定位”,它当然也是 URI;
但是如果我们只提到上面地址的一个片段,例如 www.google.com,那么由于缺少了具体协议,我们无法完成完整的定位,因此这样的东西只能被叫做一个标识符,只能算 URI,而非 URL。

3、命名规范

在这里插入图片描述
在这里插入图片描述
PATCH:和 PUT 类似,也用于资源更新,但支持的是资源单位的部分更新,并且在资源不存在的时候,能够自动创建资源,这个方法实际使用比较少。
HEAD:这个方法只返回资源的头部,避免了资源本身获取和传输的开销。这种方法很有用,经常用来检查资源是否存在,以及有无修改。
OPTIONS:这个方法常用来返回服务器对于指定资源所支持的方法列表。

查询时如果参数过多,使用POST来处理参数比较长或结构化的search请求 或者 使用两次请求先将参数送到服务器上。

4、幂等性与安全性

在这里插入图片描述
对服务端的数据状态,执行多次操作是否和执行一次产生的结果一样。从表格中你可以看到,创建资源单位不是幂等的,执行多次就意味着创建了多个资源单位,而其它操作都是幂等的。通常来说,幂等操作是可以被重试而不产生副作用的。
安全性指的是该操作是否对服务端的数据状态产生了影响。从表格中可以看到,获取资源的操作是安全的,不会对资源数据产生影响,但是其它操作都是不安全的。一定条件下,安全操作是可以被缓存的,而不安全的操作,必定对服务端的状态产生了影响,这体现了 REST 的“状态转换”这一要素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值