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

        

  • 相关阅读:
    如何让ListView的item不可点击
    [Android] ListView中如何让onClick和onItemClick事件共存
    [Android] RelativeLayout, LinearLayout,FrameLayout
    [Android]drawable-nodpi文件夹 的作用
    [转]安装和使用JD-Eclipse插件
    jmeter下载及安装配置
    MySql安装后在服务管理器里边找不到MySql服务项的解决办法
    两步破解IntelliJ IDEA 教程(无敌版)
    进程和线程区别和联系
    webservice--cxf和spring结合,发布restFull风格的服务
  • 原文地址:https://www.cnblogs.com/angle-xiu/p/11350950.html
Copyright © 2011-2022 走看看