get和post的区别
误区:
1、get把参数写在url中,post通过请求体来传参
——get和post都是http协议定义的,使用哪个方式与应用层的数据如何传输是没有相互关系的 ——各种浏览器等软件的规定,变成了现在的现象
2、get没有post安全,因为get参数直接显示在url上
——安全相对而言,针对对象不同,本质都是tcp的链接
3、get请求在url中传送的参数是有长度限制的,但post是没有的
——对于url长度的限制是由两方面的原因形成 1)浏览器 2)服务器:服务器处理超长的url是一种负担,因此服务器处于安全、稳定的考虑,会给url长度加上限制,但这个限制是针对所有http请求的
真相:
GET和POST本质上就是TCP链接,并无差别,是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同
1)get产生一个tcp数据包;post产生两个tcp数据包
2)对于get方式的请求,浏览器会把httpheader和data一并发送出去,服务器响应200(返回数据)
3)对于post请求,浏览器会先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据)
备注:网络条件好的情况下,时间差异可以忽略
参考:https://blog.csdn.net/happy_xiahuixiax/article/details/72859762
常常感恩