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 传参相同
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 相同
post请求的请求参数都是请求体中
// post 获取数据
export let postStats = (a) => {
return axios({
url: "/regiser",
method: "post",
// 传参
data: { user: '123123' }
});
}