告诉服务器端当前请求的意图

有了url,mimetype、状态码, 能够基本满足用户的需求,但是,很多时候一个网站不单纯只是不断从服务端获取资源并做渲染,可能还需要做一些数据的提交、删除等功能。所以浏览器定义了8种方法来表示对于不同请求的操作方式,当然最常用的还是Get和Post,我觉得,要不是
Get方法不支持大数据的传输,估计很多同学Post都不会去使用。 

GET:一般是用于客户端发送一个URI地址去获取服务端的资源(一般用于查询操作),Get不支持的传输数据有限制,具体限制由浏览器决定 

POST:一般用户客户端传输一个实体给到服务端,让服务端去保存(一般用于创建操作) 

PUT:向服务器发送数据,一般用于更新数据的操作 

DELETE:客户端发起一个Delete请求要求服务端把某个数据删除(一般用于删除操作) 

HEAD:获得报文首部、

OPTIONS:询问支持的方法、

TRACE:追踪路径、

CONNECT:用隧道协议连接代理 

在REST架构风格中,有严格规定对于不同的请求类型要设置合适的请求方法。也是避免出现因为乱用导致混乱的问题。这里提到了REST架构,现在很多同学都在写REST,有没有人能够明白为什么要定义REST这个架构风格? 

我个人认为是这样 

1. 随着服务化架构的普及,http协议的使用频率越来越高 

2. 很多人在错误的使用http协议定义接口,比如各种各样的命名,什么getUserInfoById,deleteById之类的、有状态和无状态请求混用。 

3. 对于http协议本身提供的规则并没有很好的利用 

所以,为了更好的解决这些问题,干脆就定义一套规则,这套规则并没有引入新的东西,无非就是对http协议本身的使用做了一些约束,比如说 

1. REST是面向资源,每一个URI代表一个资源 

2. 强调无状态化,服务器端不能存储来自某个客户的某个请求中的信息,并在该客户的其他请求中使用 

3. 强调URL暴露资源时,不要在URI中出现动词 

4. 合理的利用http状态码、请求方法。 

因此大家在参照这种标准去使用REST风格时,要明白你遵循的是什么以及要解决什么问题。

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页