get方法与post方法的区别
1.GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
2.GET提交的数据大小有限制(因为浏览器对URL的长度有限制),不能大于2KB,而POST方法提交的数据理论上没有限制(只要服务器承受的住).
3.GET方法提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
4.GET是从服务器上获取数据,POST是向服务器传送数据
5.post会有浏览器提示重新提交表单的问题,get则没有
6.GET在浏览器回退时是无害的,而POST会再次提交请求
7.GET请求只能进行url编码,而POST支持多种编码方式
8.对参数的数据类型,GET只接受ASCII字符,而POST没有限制
9.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
GET和POST本质上没有区别。。。。。。。
GET和POST是什么?HTTP协议中的两种发送请求的方法
HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。
具体参考该博主的文章:
https://www.cnblogs.com/logsharing/p/8448446.html
GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包
1. GET与POST都有自己的语义,不能随便混用。
2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
原文:https://www.cnblogs.com/zhaikunkun/p/12878266.html