• 接口测试Http协议下的Get和Post请求的区别


    一、Get和Post是什么

    HTTP协议中的两种发送请求的方法,本质上都是在进行TCP连接

    二、Get请求

    从指定的服务器中获取数据,直接在浏览器里输入就可以获取信息

    三、Post的请求

    提交数据给指定的服务器处理,可以向服务器发送修改请求,从而修改服务器的数据,需要借助测试工具

    四、Get和Post请求的基本区别

    Get请求Post请求
    get请求能够被缓存post请求不能被缓存
    get请求会保存在浏览器的浏览记录中post请求不会保存在浏览器浏览记录中
    以get请求的url能够保存为浏览器书签以post请求的url无法保存为浏览器书签
    get请求有长度限制,<=2k-4kpost请求根据配置文件设定,也可无限大
    Get是从服务器上获取数据Post是向服务器传送数据
    回退or刷新:没有影响回退or刷新:会重新发送提交请求
    GET请求只能进行url编码POST支持多种编码方式
    GET只接受ASCII字符(数据类型)POST对数据类型没有限制
    GET不安全,参数直接暴露在url中,不能传递敏感信息POST更安全,参数放在body体中

    五、Get和Post请求的深入区别

    5.1.简单地说

    1. GET产生**一个**TCP数据包。 	
      
      • 1
    2. POST产生**两个**TCP数据包。
      
      • 1

    5.2.复杂的说

    1.对于GET请求,浏览器会把http header和data一起发送出去,服务器响应200,请求成功。
    2.对于POST请求,浏览器先发送header,服务器会响应100(已经收到请求的第一部分,正在等待其余部分),浏览器再次发送data,服务器返回200,请求成功。
    
    • 1
    • 2

    5.3.POST请求需要两步,时间消耗会比GET请求更长吗?不会

    1.GET请求和POST请求都有自己的语义,不能随便混用;
    2.在网络环境好的情况下,发送一次包的时间和发送两次包的时间差可以忽略;
    3.在网络环境差的情况下,发送两次包的TCP在验证数据的完整性上,有非常大优势;
    4.并不是所有的浏览器都会在POST请求中发送两次包,比如:火狐Firefox就只发送一次。
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    hinge loss的一种实现方法
    (LeetCode C++)三数之和
    基于蝙蝠优化算法的电力系统经济调度研究(Matlab代码实现)
    datagrip 相关数据连接信息无缝迁移
    层顶分布式光伏发电并网群调群控系统采集终端装置应用方案及分布式光伏调度数据远动通信屏柜配置方案
    MATLAB环境下基于图像处理的视网膜图像血管分割
    第一篇文章 mybatis 综述
    vscode开发相关
    第十一章 api mgmnt API 参考
    目标检测系列——开山之作RCNN原理详解
  • 原文地址:https://blog.csdn.net/weixin_37600187/article/details/128190988