http请求方法get和post的区别

11 篇文章 0 订阅

在这里插入图片描述

T04BF

👋专栏: 算法|JAVA|MySQL|C语言

🫵 今天你敲代码了吗

关于http请求方法get和post的区别

在这里插入图片描述

真正区别

实际上二者差异不大,在http里面,使用get的场景,使用post也可以;同样,使用post的场景,使用get也可以

但是从使用习惯上来说,还是存在区别的

(1)首先这两个方法在最初定义的时候,就规定了不同的语义
GET方法从语义上来说通常是用来 “获取数据”
POST从语义上来说通常是"提交数据"

(2)GET方法传递传输的时候,通常不会使用报文里面的body,而是使用url里面的query string
而post通常直接使用body

(3)服务器对于GET方法的请求,通常认为是"幂等的"
对于POST则没有这个要求
这个要求是 http官方文档给的建议

所谓"幂等性"是指在计算系统中,对同一个操作的多次执行所产生的结果与执行一次的结果相同。在网络通信中,HTTP方法的幂等性是指无论调用多少次,结果都是相同的。

存在问题的区别

(1)post比get更加安全???(×)

论据是 使用get请求,登录的时候将 密码直接显示在浏览器地址栏,不安全

实际上,对应post请求一样也不安全,放到body里面,被抓包了,一样是不安全的

实际上,安不安全,是取决于加密的

(2)get传输的数据量有限,而post传输的数据量比较长,没有限制??? (×)

实际上,在http标准中,明确说了一句话就是,针对get的URL长度是没有限制的

有这样的观点是因为,在很久以前的IE浏览器,对于URL的长度做出了限制(URL长度超过一定的数值,就会请求失败)

(3)get只能传输文本数据,post可以传输二进制数据??? (×)

实际上,在url的query string 提供了urlencode机制,二进制数据,通过转义,也是可以进行传输的

虽然post可以直接传输二进制,但是很多时候,也是通过 转义之后,以文本的方式来传输的

感谢您的访问!!期待您的关注!!!

在这里插入图片描述

T04BF

🫵 今天记得敲代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值