1、get把参数包含在url中,post通过request body传递参数
2、get和post均是Http协议中两种发送请求和方法,而http是基于TCP/IP的底层,均是TCP连接。在get加上request body,给post待上URL参数在技术上完全是行得通的
3、get请求产生一个TCP数据包,浏览器会把http header和data一并发出去,服务器相应200返回数据
post请求产生两个数据包,在浏览器发送header,服务器响应100 continue浏览器再发送data,服务器响应200 ok返回数据
理论上,post在时间上消耗要多一点,但事实上在网络环境好的情况下,发一次包和发两次包的时间基本上可无视,而在网络差的情况下,两次包的TCP严重在数据完整性上有很大优点。
并不是所有浏览器都在post发送两次包,火狐只有一次