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

posted on 2022-03-08 09:08  SE7EN_96  阅读(61)  评论(0)    收藏  举报

导航