HTTP请求方式及其区别

  一.请求方式

    所有的请求都可以给服务器传递内容,也可以从服务器获取内容

    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()}`);
//==>在末尾添加一个随机数使每次请求的地址都不一致,从而阻止缓存的产生(使用_属性名保证不与其他属性名冲突),根本上不是等它产生了缓存采取处理它,而是从请求入手保证不产生缓存
、、、

 

    

你可能感兴趣的:(HTTP请求方式及其区别)