Get请求和Post请求区别?

Get请求和Post请求方法的区别?

  • Get和Post是HTTP协议的两种发送请求的方法

    HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议;

    http协议详解

  • Get和Post底层都是基于TCP连接的,本质上没有区别
    区别的出现是因为
    原因一:HTTP协议的封装下,传输渠道的不同;
    原因二:由于浏览器限制url的长度在2k个字节,服务器也最多处理64k大小的url
    直观体现:最直观的Get将参数包含在URL中,Post将参数包含在request body请求体中(区别1)

  • 另一方面
    GET和POST还有一个重大区别,简单的说:
    GET产生一个TCP数据包;POST产生两个TCP数据包。(区别2)
    详细点说:
    对于GET请求:浏览器把http header和data一并发送出去,服务器响应200(返回数据)
    对于POST请求:浏览器发送header,服务器响应100,浏览器再发送data,服务器响应200(返回数据)

  • 但是这并不能说明get比post更为有效,原因如下:
    1、get和post都有自己的使用场景,不能随便混用
    2、在网络环境好的情况下,发一次数据包的时间和发两次数据包的时间基本一致,在网络差的情况下,两次数据包在验证数据完整性上有很大的优点
    3、并不是所有的浏览器都发送两次数据包,firefox在Post请求中只发送一次数据包

其他区别:

  1. GET请求只能进行url编码,而POST支持多种编码方式。
  2. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
  3. GET请求在URL中传送的参数是有长度限制的,而POST没有
  4. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值