Get和Post的区别

Posted by Liao on 2020-04-23

使用上的区别

  1. GET通过URL或Cookie传参,而POST将数据放在BODY中(是HTTP的约定)
  2. GET方式提交的数据有长度限制,而POST的数据则可以非常大。HTTP协议对GET和POST长度没有限制,并且对HTTP头和Body都没有长度的要求。只是因为它们使用的操作系统和浏览器设置的不同引起的区别。
  3. POST比GET安全,因为数据在地址栏上不可见。通过GET提交数据,用户名和密码将明文出现在URL上,因为登录页面有可能被浏览器缓存,其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

本质区别

GET和POST最大的区别主要是GET请求是幂等性的,POST请求不是。

幂等性是指一次和多次请求某一个资源应该具有同样的副作用。简单来说意味着对同一URL的多个请求应该返回同样的结果。

而增删改的操作不具有幂等性,故不能用GET做增删改的操作

[]: https://juejin.im/entry/597ca6caf265da3e301e64db