首先GET和POST是什么?他们是HTTP协议中两种发送请求的方式。HTTP是什么?HTTP是基于TCP与IP的关于数据如在万维网中如何通信的协议。HTTP的底层是TCP/IP,也就是说GET与POST都是TCP链接。GET与POST做的事是一样的,都可以传输数据。因此GET与POST在本质上没有区别,而真正的区别在于TPC链接的不同,由于在万维网中各个浏览器以及服务器的限制,导致他们在引用过程中体现的不同。
那么真正的区别在哪呢?我认为真正的区别在于TCP数据包,GET方式产生一个TCP数据包,而POST方式会产生两个TCP数据包。详细的说,对于GET请求,浏览器会把http header和data一并发送出去,服务器响应200ms后返回数据。而POST请求,浏览器会先发送http header服务器响应100 continue,浏览器再发送data,服务器响应200ms后再返回数据。
但是呢,在网络条件好的情况下,发送一次和发送两次数据包的时间差是可以直接忽略无视的。只有在网络条件差的时候,发送两次数据包在TCP的验证数据上会更加的稳定。