在介绍Get和Post请求的区别是我们先了解一个概念 幂等性
什么是幂等性?幂等性是指一次和多次请求某一个资源应该具有同样的副作用。简单来说意味着对同一URL的多个请求应该返回同样的结果。
然后我们说一下他们的基本区别
- Get请求能缓存,Post不能
- Post相对Get更加安全,因为Get请求都包含在URL 里,且会被浏览器保存历史纪录,Post不会。
- Post可以通过 request body来传输比 Get更多的数据,Get 没有这个技术
- URL有长度限制,会影响 Get 请求,但是这个长度限制是浏览器规定的,不是 RFC 规定的
- Post支持更多的编码类型且不对数据类型限制
上面提到的是我们在使用Get和Post时候的区别,
我们在一开始介绍了一个概念 幂等性
,因为Get是具有幂等性的所以这才是他们本质上的区别,Get具有幂等性所有会有一定几率出现重复的操作,
这也是为什么我们在做增删改的时候基本都是Post请求,而查询基本都是Get请求。