Get和Post的区别

1.是基于什么前提的?

如果什么前提都没有,不使用任何规范,只考虑语法和理论上的Http协议。Get和Post几乎没有什么区别,只有名字不一样。

2.如果是基于RFC规范的。

1)理论上的(Specifiction):Get和Post具有相同的语法的,但是有不同的语义。
get是用来获取数据的,post是用来发送数据的,其他方面没有区别。
2)实现上的(Implwmentation): 各种浏览器就是这个规范的实现者。
常见的那些不同:

  1. Get的数据在url是可见的。Post的请求不显示在url中。
  2. Get请求对传参的长度是有限制的,Post请求长度是无限的。
  3. Get请求的数据可以收藏为书签,Post请求到的数据不可以被收藏为书签。
  4. Get请求后,按后退按钮、刷新按钮无影响,Post数据会被重新提交。
  5. Get编码类型:application/x-www-form-url,Post的编码类型:有很多种。
    encodeapplication/x-www-form-urlencoded
    multipart/form-data 只有Post方式可以发送文件
  6. Get历史参数会被保存在浏览器里,Post不会保存在浏览器中。
  7. Get只允许ASCII,Post没有编码限制,允许发二进制的。
  8. Get与Post相比,Get安全性较差,因为所发的数据是URL的一部分。

总的来说,Get和Post本质上没有任何区别,只是浏览器对Get和Post做了不同的处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值