get与post请求的实质区别?
最直观的区别:get请求的参数挂载在url上,post则再requestBody中。get是通过url传输数据,因此数据的传输量就和url所能达到的长度有直接关系。post一般受服务器或内存大小的限制。
用途:
get用于从服务器获取数据,包括静态资源,动态数据展示等
post用于向服务器提交数据如增删改查。
根据http的设计,大家在看到get的时候,都期望这个请求对服务器没有修改,看到post的时候,都认为这对服务器产生了修改。
期望在这里是重点,因为这遵守了http协议设计的概念完整性,容易被其他人理解。当然,也可以说这有利于安全性等方面,但这比较次要。
你提到传参方式的不同,某种程度上这确实是一个区别,但请注意,协议并没有规定get一定要用url传参数,也没有规定post要用请求体传参数。
实际上倒过来也完全可以,合法,最多语言api里头可能是不那样友好罢了。语言api不少只区分是从url提交的还是从请求体提交的,不管get或者post,
更多起到的大概是语义上的规范化吧
参考:https://www.zhihu.com/question/28586791/answer/41404009
浙公网安备 33010602011771号