参考链接:https://www.cnblogs.com/logsharing/p/8448446.html
1.从本质上来说,post和get传值的原理相同,都是向HTTP发送请求,HTTP的底层是TCP/IP,所以GET/POST都是TCP链接。所以post和get传值能做的事都是一样的。
2.但是由于数据量大对服务器和浏览器都是很大的负担,所以浏览器和服务器都会限制,超过的部分;你用get方式传值,在request body上传数据,不同的服务器处理方式不同,有的可能不会处理,有的可能读数据。
3.get产生一个TCP数据包,而post产生两个TCP数据包:
区别就是
get 在发送http head时,也会同时发送data,服务器响应200 (ok);
而 post 是在发送http head之后,等待服务器的响应100,再发送 data ,服务器响应200 (ok);
4.虽然get比post快,但是get不能替换post
1.GET与POST都有自己的语义,不能随便混用。
2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。