一.请求方式
所有的请求都可以给服务器传递内容,也可以从服务器获取内容。
GET:从服务器获取数据(给的少拿的多)
POST:向服务器推送数据(给的多拿的少)
DELETE:删除服务器的一些内容
PUT:向服务器存放一些内容
HEAD:只请求页面的头部
TRACE(或OPTIONS):发送一个探测性请求,如果返回了信息说明建立了连接
二.GET VS POST
1.传递给服务器信息的方式不一样
GET:基于URL地址“问号传参”,POST基于“请求主体”把信息传给服务器。(GET一般用于拿,POST一般用于推送内容)
2.GET不安全,POST相对安全(记住是相对)
因为GET是基于“问号传参”把信息传递给服务器,容易被骇客进行URL劫持。POST是基于请求主体传递的,相对来说不好被劫持。所以涉及到登录注册等信息应使用POST。
3.GET会产生不可控制的缓存,POST不会
不可控:这是浏览器自主记忆的缓存,我们无法基于js控制,项目中会将去掉这个缓存。
GET请求产生缓存的原因:连续多次向相同的地址(传递的参数也是一致的)发送请求,浏览器会把之前获取的数据从缓存中拿到,导致无法从服务器获取最新的数据(POST不会)。
解决方案:
、、、 xhr.open("GET",`/temp/list?lx=100$_=${new Date().getTime()}`); //==>在末尾添加一个随机数使每次请求的地址都不一致,从而阻止缓存的产生(使用_属性名保证不与其他属性名冲突),根本上不是等它产生了缓存采取处理它,而是从请求入手保证不产生缓存 、、、