【概念普及】很通俗的解释一下RESTful(表现层状态转移)架构风格
来源:互联网 发布:线切割机床的编程格式 编辑:程序博客网 时间:2024/05/18 00:15
官方:REST(Representational State Transfer)指的是一种架构设计风格,而满足这种设计风格的应用程序或设计就被认为是RESTful的。这也是目前互联网中最流行的一种软件架构风格,它结构清晰、符合标准、易于理解,越来越多的应用服务开始使用RESTful这种架构风格,尤其是那些基于HTTP协议的网络服务。
这话要是有人能听懂就是天才,网上大部分资料还是原话转或融入有限的理解。我自己研究了一番,理解了发起者的意图,自己通俗的给大家解释一下。
目的: 规范一种风格,使系统可以长期存在,支撑持久系统。围绕2点恒定不变展开,一点是表现层恒定,也就是本质,图标就是图标,标题就是标题,多久都不会变的。另一点是定义状态变化,增删改查什么的,这个永久都不会变复杂,就那么多。
解释:定义一种接口设计风格,使接口描述为资源以及资源对应的状态切换,状态切换指增删改查或crud(创建、查询、更新、删除)。
举例说明:
我想定义2个接口,一个是获取信息,一个是删除信息,以下接口看起来是没有问题的,而且大家一般也是这么做的
/user/getinfo
/user/delinfo?id=
但是,这不是RESTful的,因为你定义了一个行为,将行为细节都交给接口实现的,每一个行为独占一个接口,如果业务有变更,你可能还要改,比如要求只能删除7天之前的。以下接口则是RESTfull的,接口仅描述了资源,具体操作由指定的动作来完成。
GET /user/info
DEL /user/info?id=
这样,服务端仅需要简单的维护资源,做状态切换却可。对于只能删除7天之前的这种事,则由上层逻辑去控制,底层安稳的一直存在下去,除非某一天,确实不用这个资源了。
用途:
RESTful风格,相当于将逻辑抽象出了一层客观存在的与事实对应的一层,加强了这一些的持久层,上层无论怎么变,这层可以不变。
价值:
非常适用于前后端分离场景
和HTTP关系:
RESTful不一定用http实现,但http确实非常适用于实现RESTful
其他说明:
接口不能有状态和依赖,否则破坏了RESTful性质,不然业务调整使依赖关系变更时,还得改接口。
- 【概念普及】很通俗的解释一下RESTful(表现层状态转移)架构风格
- 通俗的解释一下范式
- REST 表现层状态转换 架构说明
- RESTful Representational State Transfer 表现层状态转化
- RESTful Representational State Transfer 表现层状态转化
- 【SSH进阶之路】Spring的IOC逐层深入——Spring的IOC原理[通俗解释一下](三)
- 【SSH进阶之路】Spring的IOC逐层深入——Spring的IOC原理[通俗解释一下](三)
- 【SSH进阶之路】Spring的IOC逐层深入——Spring的IOC原理[通俗解释一下](三)
- 【SSH进阶之路】Spring的IOC逐层深入——Spring的IOC原理[通俗解释一下](三)
- 中文翻译为"具象状态传输"的RESTful的架构风格和设计思想
- XML+HTTP风格架构和RESTful风格架构的webService
- RESTful架构风格
- RESTful架构风格
- RESTful架构风格
- RESTful 架构风格概述
- RESTful架构风格
- RESTful架构风格概述
- RESTful 架构风格概述
- 第二章:2.1 微分方程、差分方程求解(求解方法)
- CSS-为网站添加样式---第三系列
- 大数据早报:微信开放数据能力 谷歌出手大力整治窃取用户数据应用(8.16)
- python 取出 Mongdb 中的数据 转化成DataFrame 然后用pandas处理数据
- js去除文本中的html标签
- 【概念普及】很通俗的解释一下RESTful(表现层状态转移)架构风格
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
- 【HDU 1711】Number Sequence 【KMP 模板】
- hdu 1172
- 头像处理-高斯模糊
- java 进制转换
- @SerializedName注解
- 44. Wildcard Matching
- 圆桌会议