HTTP请求方式
**- GET系列**
+ GET
+ DELETE 一般用于告诉服务器删除某些信息
+ HEAD 只获取响应头的内容。响应的主体内容不想要
**- POST系列**
+ POST
+ PUT 和DELTE是相对应的,告诉服务器要存储某些东西
+ OPTIONS 试探性的请求,给服务器发送个请求,看看服务器能不能接收到,如果接受到能不能正常的返回
以上这些请求就是为了请求的语义化,其实没有什么实际意义,真正工作的时候用的最多的还是get和post请求
两者的区别
GET系列和POST系列的具体差别
GET是在url后问号传参
POST是在send()中进行传参,而且只有在send中的数据才叫做请求体
1、GET传递给服务器的参数要比POST少,因为浏览器对URL的长度有限制(IE一般是2kb左右,谷歌浏览器的限制一般是6到7kb左右)
xhr.open(‘get’,’./json/product.json?name=1&age=2’,true); // GET传参的方式
send({anme:1,age:2,sex:0}); // post传参的形式
2、get请求会产生缓存post没有缓存,如果没一次请求的地址一模一样,这样他就会走缓存
‘http://www.baidu.com:8080/index.html?name=1&age=2’
‘http://www.baidu.com:8080/index.html?name=1&age=3’
如果你不想走缓存,只要保证每一次请求的地址有不一样的地方就可以(一般都是参数)
let flag = Date.now() // 获取时间戳 // 不让这次请求走缓存的办法(flag永远不会重复)
‘http://www.baidu.com:8080/index.html?name=9&age=2&flag=’ + flag;
利用随机数
let num = Math.random(); // 获取0-1之间的随机小数
console.log(num);
‘http://www.baidu.com:8080/index.html?name=9&age=2&flag=’ + num;
解决缓存两者任选其一
Math:randim()
Date.now()
3、GET相对于POST来说不安全,因为GET请求是基于问号传参(传参是通过search传参),有一种技术就是URL劫持,这样别人就可以拿到你的参数或者篡改你的参数,POST是基于请求体传参的,他相对来说还安全一些