HTTP的四种请求方法GET、POST、PUT、DELETE(传参上的区别)

2,390 阅读2分钟

Http定义了与服务器交互的不同方法,最基本的方法有4种,GET就是获取资源,POST用来新建资源(也可以用于更新资源),PUT也是更改资源,DELETE就是删除资源

一、认识四种请求方式

1、GET

1、get请求是用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。
2、get请求是安全的,不影响服务器的数据;get请求是幂等的,一个请求发送多次返回的结果应该相同。

2、POST

post请求一般是对服务器的数据做改变,常用来数据的提交,新增操作。

3、PUT

put请求与post一样都会改变服务器的数据,但是put的侧重点在于对于数据的修改操作,但是post侧重于对于数据的增加。

4、DELETE

delete请求用来删除服务器的资源。

二、四种请求在传递参数上的不同

一般情况下,params在get请求中使用,data、json在post请求中使用

1、GET/DELETE 传参相同

image.png

1、GET请求的参数会附在URL之后(就是把数据放置在HTTP协议头中),以 ? 分割URL和传输数据,参数之间以&相连,多参数拼;

2、URL参数拼接方式:url + ? 参数 = 参数内容 & 参数 = 参数类型 &...;

3、例如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD;

4、如果参数是英文字母/数字,原样发送;如果是空格,转换为+;如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII

5、这样会产生安全问题,如果是系统的登陆接口采用的get请求,需要对请求的参数做一个加密。

    // get 获取数据
   export let getStats = (a) => { 
       return axios({ 
           url: "/login",
           method: "get", 
           // 传参 
           params: { user: '123123' }
       }); 
   }

2、POST/PUT 相同

image.png

post请求的请求参数都是请求体中

   // post 获取数据
   export let postStats = (a) => { 
       return axios({ 
           url: "/regiser",
           method: "post", 
           // 传参 
           data: { user: '123123' }
       }); 
   }