【五、接口自动化测试】GET/POST 请求区别

大家好,我是山茶,一个探索AI + 测试的程序员

在网上看到了许多关于post与get之间区别的帖子,也有很多帖子是直接粘贴复制的,甚至连标题、符号都没改,甚至还有很多争议

一、post、get

关于post与get之间区别,老生长谈的内容,在这里我不再赘述,这篇内容仅表达我对post与get之间区别的理解

get与post是HTTP协议接口请求中的两种请求方法,他们的不同主要源头是为了遵守HTTP协议规范。可以百度一下,查看对应的接口类型

GET 方法请求接口

POST 方法请求接口

二、post、get常见区别

HTTP协议是在TCP/IP协议簇中的,且HTTP协议底层的本质是TCP协议原理

所以,用一句话形容,get与post的区别 "是TCP传输的区别,get请求的前三个字节转为字符是get,post前4个字节转为字符是post,其他区别都是传输规范"

从使用角度,最直观的区别

  • 大多数get方法,请求参数直接填写在url中发送。POST方法请求参数使用body request方式发送

从使用安全角度

  • post 方法与 get 方法都不算安全,都是明文发送请求。但,相较而言 get 更容易被 hacker 获取数据内容

从发送数据长度角度

  • 方法请求本身是没有请求长度限制的,但请求url及不同的浏览器对于请求长度的限制都是不同的

  • get 请求最多能够发送 2k 长度的字符串,且因为参数跟在 url 后面,作为 url 的一部分仅支持字符串类型

  • post 请求则发送数据长度不限制,且类型也不做限制

从数据缓存角度、刷新与回退动作

  • 请求本身是不存在缓存数据的,但浏览器是可存储缓存数据的。

不同方法使用场景不同,所以,应用在编写时会被设计缓存的机制,get 方法请求就是如此,浏览器会自动存储 get 数据以供下次查询使用,然而 post类型数据因场景不同,数据通常不被缓存

因此,在浏览器刷新和回退时,get 方法仅是获取浏览器缓存数据即可,而 post 则是需要像服务端重新发送请求

上面的几点是我对于post、get区别的理解,还有几个区别像可见性这种,没有必要再讲一遍,毕竟这个可太明显能够看到不是

作者简介:

程序员山茶,一个工作5年,并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业,欢迎和我一起沟通交流。


欢迎关注我,  和我一起探索AI+测试之路,终身成长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/455563.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg工作流程及视频文件分析

FFmpeg工作流程: 解封装(Demuxing)--->解码(Decoding)--->编码(Encoding)--->封装(Muxing) FFmpeg转码工作流程: 读取输入流--->音视频解封装--->解码音视频帧--->编码音视频帧--->音视频封装--->输出目标流 可简单理解为如下流程: 读文件-->解…

基于SpringMVC+JSP实现的亚盛汽车配件销售业绩管理统

采用技术 基于SpringSpringMVCMyBatis框架实现亚盛汽车配件销售业绩管理统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 员工端效果 进货信息 配件管理…

MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入

文章目录 一、ON DUPLICATE KEY UPDATE的介绍二、ON DUPLICATE KEY UPDATE的使用2.1、案例一:根据主键id进行更新2.2、案例二:根据唯一索引进行更新(常用)2.3、案例三:没有主键或唯一键字段值相同就插入2.4、案例四&am…

【数据结构】双向链表及LRU缓存的实现

目录 前言 1. 在原有的自定义链表类 Linked 的基础上,添加新的 “节点添加”方法 addNode(Node node) 测试用例 测试结果 2. 在自定义链表类的基础上,使用双重循环“强力” 判断两个节点是否发生相交 测试用例 测试结果 3. 在自定义链表类的基础上…

Spring Security 结合 JWT使用

Spring Security原理 Spring Security的原理主要基于过滤器链的概念。在Web应用程序中,每个请求都会通过一系列的过滤器,Spring Security就是在这个过程中介入并进行安全相关的操作。 Spring Security的核心原理可以概括为以下几点: 1. 认…

JavaWeb06-MVC和三层架构

目录 一、MVC模式 1.概述 2.好处 二、三层架构 1.概述 三、MVC与三层架构 四、练习 一、MVC模式 1.概述 MVC是一种分层开发的模式,其中 M:Model,业务模型,处理业务 V: View,视图,界面展…

雅特力AT32A403开发板评测 01 开箱及环境搭建流程

01-雅特力AT32A403A开发板开箱及环境搭建流程 雅特力AT32 2023年,玩了不少的国产MCU开发板,例如武汉芯源CW32,兆易创新GD32、上海航芯ACM32、沁恒CH32V307等开发板,虽然电子工程世界论坛也有雅特力AT32开发板的评测活动&#xf…

NO5 蓝桥杯实践之矩阵键盘的使用(或许是一篇求助帖...)

1 任务 2 思路 视频中老师的思路写的代码过长,所以我想了个自己的思路,但是没完全跑出来,求大神指教!!!! 我的思路是首先将矩阵键盘的行和列对应的端口引脚分别存储在类似数组,然后…

人工智能|机器学习——BIRCH聚类算法(层次聚类)

这里再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大,类别数K也比较多的情况。它运行速度很快,只需要单遍扫描数据集就能进行聚类。 1.什么是流形学习 BIRCH的全称是利用层次方法的平衡迭代规约和聚类(Balanced Iterative…

环形缓冲区在stm32上的使用

目录 环形缓冲区在stm32上的使用前言实验目的环形缓冲区的定义和初始化写入数据到环形缓冲区从环形缓冲区读取数据实验结果本文中的实践工程 环形缓冲区在stm32上的使用 本文目标:环形缓冲区在stm32上的使用 按照本文的描述,应该可以跑通实验并举一反三…

利用Anaconda创建环境

利用Anaconda创建环境 1. 创建环境的步骤 1. 创建环境的步骤 1.在终端中,使用以下命令创建一个新的 Anaconda 环境。假设您想要创建一个名为 myenv 的环境: conda create --name myenv2.如果您想指定 Python 版本,可以在创建环境时添加版本号…

AI论文速读 | 计时器(Timer):用于大规模时间序列分析的Transformer

题目: Timer: Transformers for Time Series Analysis at Scale 作者:Yong Liu,(刘雍), Haoran Zhang(张淏然), Chenyu Li(李晨宇), Jianmin Wang(王建民), …

群晖 Synology Photos DSM7 自定义文件夹管理照片

背景 众所周知,目前群晖DSM7中使用Synology Photos做照片管理时,个人照片只能默认索引 /home/Photos 文件夹,但是如果个人照片很多或者用户很多时,共享文件夹/homes 所在的存储空间就会不够用 当然,如果你的存…

【软考高项】四、信息化发展之数字中国

1、数字经济 定义:从本质上看,数字经济是一种新的技术经济范式,它建立在信息与通信技术的重大突破的基础上,以数字技术与实体经济融合驱动的产业梯次转型和经济创新发展的主引擎,在基础设施、生产要素、产业结构和治理…

certificate has expired or is not yet valid:npm和node证书过期问题

在 1 月 22 日,淘宝原镜像域名(registry.npm.taobao.org)的 HTTPS 证书正式到期。如果想要继续使用,需要将 npm 源切换到新的源(registry.npmmirror.com),否则会报错。 解决方案切换到新的源&a…

nacos做注册注册中心go语言实战教程(服务的注册与获取)

背景 随着访问量的逐渐增大,单体应用结构渐渐不满足需求,在微服务出现之后引用被拆分为一个个的服务,服务之间可以互相访问。初期服务之间的调用只要知道服务地址和端口即可,而服务会出现增减、故障、升级等变化导致端口和ip也变…

欧科云链做客Google Cloud与WhalerDAO专题论坛,畅谈Web3数据机遇

3月10日,由Google Cloud、WhalerDAO和baidao data主办,以Web3AI 2024 DATA POWER为主题的分享会在北京中关村举行。欧科云链高级研究员Jason Jiang受邀参加活动,带来“从链上数据发掘Web3时代的无限机遇”的主题分享。 Web3.0核心要素始终是链…

如何从 Mac 电脑外部硬盘恢复删除的数据文件

本文向您介绍一些恢复 Mac 外置硬盘数据的快速简便的方法。 Mac 的内部存储空间通常不足以存储所有数据。因此,许多用户通过外部驱动器扩展存储或创建数据备份。然而,与几乎所有其他设备一样,从外部硬盘驱动器丢失有价值的数据并不罕见。由于…

第二证券|炒股最好用的6个指标?

炒股存在以下好用的6个目标: 1、kdj目标 当k线从下方往上穿过d线时,构成金叉,是一种买入信号,投资者能够考虑在此刻买入一些个股,其间kdj金叉方位越低,买入信号越强;当k线从上往下穿过d线时&a…

HTML静态网页成品作业(HTML+CSS)——电影肖申克的救赎介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…