首页 > 其他分享 >get请求与post请求的区别

get请求与post请求的区别

时间:2023-11-19 18:32:53浏览次数:28  
标签:浏览器 请求 get 发送 参数 post

一、定义

 1、get 和 post请求是http协议中的两种请求方式。

 2、get一般用来获取服务器的信息的,post一般是用来更新信息。

二、区别

1、get请求一般用来请求获取数据

    post请求一般作为发送数据到后台,传递数据,创建数据

2、get请求也可以传参到后台,但是传递的参数则显示在地址栏,安全性低,且参数的长度也有限制(2048字符)

     post请求则是将传递的参数放在request body中,不会在地址栏显示,安全性比get请求高,参数没有长度限制

3、get请求刷新浏览器或者回退没有影响

     post请求则会重新请求一遍

4、get请求可以被缓存,也会保留在浏览器的历史记录中

     post请求不会被缓存,也不好保留在浏览器的历史记录中

5、get请求通常是通过url地址请求

      post常见的则是form表单请求

6、get产生一个tcp数据包

     post产生两个tcp数据包

7、get产生的URL地址可以被Bookmark

     而post不可以

8、get请求会被浏览器主动cache

     而post不会,除非手动设置

9、对参数的数据类型,get只接受ASCII字符,而post没有限制。

10、get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

三、特别

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

但是!

1. GET与POST都有自己的语义,不能随便混用。

2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

标签:浏览器,请求,get,发送,参数,post
From: https://blog.51cto.com/u_16358095/8475247

相关文章

  • 05.请求与响应 处理响应信息
    请求与响应-处理响应信息针对于后端服务,需要针对请求返回对应的响应信息。响应信息可以响应很多类型的信息类型。常见的比如文本类型,还有非常通用的JSON数据。在Flask中,可以使用视图函数来处理接口请求并生成相应的响应。而且Flask提供了多种方式来构建和返回接口响应......
  • Docker - Run PostgreSQL database
    zzh@ZZHPC:~$dockerpullpostgres:alpinezzh@ZZHPC:~$dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEpostgresalpine642d75c6be0c9daysago245MB zzh@ZZHPC:~$dockerrun--namepostgres16-p5432:5432-ePOSTGRES_......
  • postgresql 16主要新特性
    继postgresql15新特性后,pg16已经发布,这个版本的主要特性如下:1、逻辑复制支持级联,不一定要从primary开始;2、逻辑复制支持订阅自己,也就是真正的双主可以通过逻辑复制内置订阅实现了,不需要依赖三方,如pglogical3、copy性能提升明显,某些场景下300%4、SIMD支持数组和json、子事务搜......
  • GET和POST的请求的区别
    传递的参数不同,POST传递的参数在requestbody中,GET传递的参数在url后拼接GET请求一般用于查询,POST一般用于提交某种信息进行某些修改操作POST相对GET请求安全GET请求会被浏览器主动缓存,POST不会,要手动设置GET请求长度有限制,POST没有......
  • axios向后台springboot服务器发送请求时出现的错误
    this.$axios.post("http://localhost:8080/changeExamStatus?billID="+this.tableData[index].billID).then((response)=>{if(response.data.code==1){alert("第"+(index+1)+"项申请单审核成功");}......
  • Winget包管理器最新安装使用
    安装在最新的终端terminal中执行winget应该就会自动安装使用配置软件包的默认安装路径执行wingetsettings命令,自动打开配置文件,在其中加入如下配置{"$schema":"https://aka.ms/winget-settings.schema.json",//Fordocumentationonthesesettings,see:http......
  • Windows环境安装PostgreSQL
    Windows环境安装PostgreSQL安装步骤要在DockerDesktop上安装PostgreSQL数据库,请按照以下步骤进行操作:首先,确保您已经安装了DockerDesktop,并且它正在运行。打开终端或命令提示符,并输入以下命令来从DockerHub下载并运行PostgreSQL镜像:dockerrun--namemy-postgres-e......
  • AJAX手写JQuery框架封装AJAX请求和常见方法实现项目功能省市联动查询效果------AJAX
    建立一个SQL表CREATETABLEt_stu(idBIGINTAUTO_INCREMENTPRIMARYKEY,usernameVARCHAR(255),ageINT,addressVARCHAR(255));INSERTINTOt_stu(id,username,age,address)VALUES(NULL,"zhangsan",15,"广州")INSERTINTOt_stu(id,username,age,address)......
  • PostgreSQL 和 MySQL 技术全面剖析
    本文介绍MySQL和PostgreSQL的一些特性对比,让大家了解二者的优劣,更好的做出选择。当前国内的现状,互联网公司使用MySQL的较多,PostgreSQL的使用比例反而不高,但相信看到PG的新特性后,你会爱上她。当然MySQL作为最流行的数据库,依然会吸引大部分人的眼球。PostgreSQL标榜自己是世界上最......
  • session源码、闪现、请求扩展
    session源码'''1app.session_interface默认是某个类的对象,以后全局对象session,就是SecureCookieSessionInterface()的对象2请求来了,会执行这个对象的:open_session方法3请求走了,会执行这个对象的:save_session方法4找出上面讲的--》读源码--》app.run()---->run_simp......