错误的一个理论就是,get是从服务器拿数据,而post是给服务器传数据。
两者其实都是从服务器端拿数据,只是一些细节不同罢了。
历史:
get和post是HTTP与服务器交互的方式,
说到方式,其实总共有四种:put,delete,post,get。
他们的作用分别是对服务器资源的增,删,改,查。
所以,get是获取数据,post是修改数据。
但是,现在大家都不这么干了!
只用一个方式就可以做增删查减的操作。
本质上:
GET和POST是http协议中的两种发送请求的方法,http是基于TCP/IP的关于数据如何在万维网中如何通信的协议。http的底层是TCP/IP,则GET/POST的底层也是TCP/IP。也就是说,GET/POST本质上就是TCP链接,并无差别。但是由于http的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
真相:
区别1
Get产生一个TCP数据包;Post产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
对于POST,浏览器先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据);
区别2
某网站做了个总结


本文澄清了GET和POST在HTTP协议中的角色误解,详细解析了它们的本质与应用过程中的区别,包括TCP数据包的产生数量及数据发送流程的不同。
576

被折叠的 条评论
为什么被折叠?



