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

简介: Get请求:从指定的服务器中获取数据,直接在浏览器里输入就可以获取信息;Post的请求:提交数据给指定的服务器处理,可以向服务器发送修改请求,从而修改服务器的数据,需要借助测试工具。Get和Post请求的基本区别和深入的区别详解。。。

一、Get和Post是什么

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

二、Get请求

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

三、Post的请求

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

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

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

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

5.1.简单地说

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

5.2.复杂的说

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

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

1.GET请求和POST请求都有自己的语义,不能随便混用;
2.在网络环境好的情况下,发送一次包的时间和发送两次包的时间差可以忽略;
3.在网络环境差的情况下,发送两次包的TCP在验证数据的完整性上,有非常大优势;
4.并不是所有的浏览器都会在POST请求中发送两次包,比如:火狐Firefox就只发送一次。

目录
相关文章
|
2月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
缓存 安全 API
http 的 get 和 post 区别 1000字
【10月更文挑战第27天】GET和POST方法各有特点,在实际应用中需要根据具体的业务需求和场景选择合适的请求方法,以确保数据的安全传输和正确处理。
|
3月前
|
JSON 编解码 安全
【HTTP】方法(method)以及 GET 和 POST 的区别
【HTTP】方法(method)以及 GET 和 POST 的区别
138 1
|
Java Apache
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
hbase从集群中有8台regionserver服务器,已稳定运行了5个多月,8月15号,发现集群中4个datanode进程死了,经查原因是内存 outofMemory了(因为这几台机器上部署了spark,给spark开的...
815 0
|
Web App开发 前端开发
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
PipeMapRed.waitOutputThreads(): subprocess failed with code X ,这里code X对应的信息如下:error code 1: Operation not perm...
952 0
|
Web App开发 前端开发 Java
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
864 0
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
NoSuchObjectException(message:There is no database named cloudera_manager_metastore_canary_test_db_hive_hivemetastore_df61080e04cd7eb36c4336f71b5a8bc4) at org.
1084 0
|
Web App开发 前端开发 数据库