大名鼎鼎的Restful,你到底知道多少?

0.引言
很多时候,大部分的人都是知道一个知识点,但是并不是理解这个知识点,今天我就来讲讲Restful,首先了解几个概念:

  1. REST:Representational State Transfer 表现层状态转化
  2. 资源(Resources):REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源,资源是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI
  3. 表现层(Representation):“资源"是一种信息实体,它可以有多种外在表现形式。我们把"资源"具体呈现出来的形式,叫做它的"表现层”(Representation)。
  4. 状态转化(State Transfer):如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。

1.什么是RESTful架构
一种设计风格
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

RESTful架构是对MVC架构改进后所形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。因此,RESTful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。

RESTful架构将服务器分成前端服务器和后端服务器两部分,前端服务器为用户提供无模型的视图;后端服务器为前端服务器提供接口。浏览器向前端服务器请求视图,通过视图中包含的AJAX函数发起接口请求获取模型。

通俗点:当我们前端向服务端发送请求的时候,以前我们可能会这样写:/addUser、 /deleteUser、/updateUser…等等形式,这样就会导致url膨胀,我们能做的就是只用一个url:/User,然后通过发送put、get、post、delete的请求来区分。
大名鼎鼎的Restful,你到底知道多少?

2.RESTFUL特点

  • 每一个URI代表1种资源;
  • 客户端使用GET、POST、PUT、DELETE 4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
  • 通过操作资源的表现形式来操作资源;
  • 资源的表现形式是XML或者HTML;
  • 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

3.其他
github代码仓库:https://github.com/youzi530/maven_demo

参考:
1、菜鸟:https://www.runoob.com/w3cnote/restful-architecture.html
2、git代码:https://blog.csdn.net/qq_42846807/article/details/100858421
3、阮一峰的网络日志:https://www.ruanyifeng.com/blog/2011/09/restful.html

上一篇:接口测试1


下一篇:路由规则匹配