Get与Post的区别

之前在知乎上看到过一个关于二者区别很形象的解答:

POST和GET,就是快递的两种,GET是骑着小摩托车的快递员,POST是开着面包车的快递员。大家都是送快递的,只不过,GET的快递的东西,呈现在外面,一不小心就被偷了,而POST东西放在箱子里面,没那么容易丢。你说,我在小摩托车装个箱子,或者把快递放在面包车车顶上,那都是可以的呀,对吧。其实呢,POST和GET,本质上是一样的,都是协议,只不过,我们给GET定义了,就是要url带参数的,POST呢,就是在requestbody里面装参数。

GET在给目标传送的时候,会发一个TCP数据包,而POST呢,会发两个,但不是绝对的,有的浏览器还是只发一个的,例如火狐。GET发送完数据包,假如OK了呢,对方会回一个200,表示我收到了;POST呢,会先发一个header给对面,提示对面说我准备发信啦,对方回一个100,表示OK你发吧,然后我就发data给对面,对面收到了就回一个200,这就是POST的一套流程了。

但这并不意味着Post麻烦耗时!!

在网络环境好的时候,两者相差是不大的,网络不好,其实大家都快不起来,GET平时我们相对常用,POST呢,一般表单提交东西也都用它,大家各司其职。

接着是w3schoolde的标准答案:
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据

只有两种方式支持POST提交,即表单和ajax!!!!
其他全部都是get!!!

1.提交方式不同
2.get请求会被浏览器自动缓存的,因为是在url中,而post不会
3.get请求只能进行url编码,而post支持多种编码方式
4.et有长度限制,post没有
5.get只支持ASCII码请求参数,post没有限制
6.get相比post来说,更不安全,因为参数直接暴露了
7.都是基于TCP/IP
8.GET方式URL中带参数,即发送的数据,安全性较差,而POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中,即存在于requestbody中

下面的表格比较了两种 HTTP 方法:GET 和 POST:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值