前端学习:get与post的区别

get与post的区别

这个问题面试的时候经常会遇到,以下是我学习过程中的一个记录,可供参考

1、基于什么前提?

1.1 没有什么前提

如果什么前提都没有,不使用任何规范,只考虑http语法和理论上的http协议。
get和post没有任何区别

1.2 基于RFC规范前提

1)理论上:

get和post有相同语法,但语义不同,get用于获取数据,post用于发送数据。其他方面没有区别

2)实现上:

实现上http只是一个格式,需要有人去解析和使用这个格式,比如:各种浏览器就是这个格式的实现者,但不止浏览器可以作为实现者。在基于浏览器上才会有这些常见的区别:
区别
(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
(6)get的历史参数会被保留在浏览器中,而post不会
(7)get请求只允许ASCII编码,post请求是没有编码限制的,并且允许发二进制。
(8)get与post相比,get安全性较差,(也不是说post的安全性很好,只不过这两个相比,get安全性相对较差)

2、总结

以上是本人学习记录。get和post还有什么区别,欢迎大家补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laymanღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值