概念
get请求与post请求都是http协议请求头中的的请求方法,它们的作用都是向服务器发送请求参数。
区别
- url可见性
get请求发送请求参数时,会将参数显示在浏览器的url地址栏上,使用?来携带,如果有多个则用&来拼接。
post请求发送请求参数时,会将参数显示在浏览器的url地址栏上,而是将参数存储到http请求头中的请求体中。
- 传输数据大小
get传输数据有大小的限制,一般以2-4k
post传输数据的大小是没有限制的,可以修改成无限大。
- 后退页面的反应
get请求后退后不会发送新的请求,而post在后退时,会重新发送一次新的请求。
- 是否被浏览器缓存
get请求会被浏览器主动缓存,而post请求不会,但是可以手动设置缓存。
- 是否保留到浏览器历史记录
get请求的参数会被保存到浏览器的历史记录中,而post不会。
- 编码方式
get请求只支持发送ASCII吗的参数类型,只支持url编码,而post请求没有限制,支持多种编码格式。
- 安全性
显然post比get更为安全,因为get请求在很多时候请求参数都是轻易可见的,可以简单的从url从看到。
- post优点那么多,那为什么还要有get呢?
因为get的效率更高!! get常用于一些没有存在安全隐患的场景,例如查询一些公共资源…
参考:https://blog.csdn.net/FlyPigYe/article/details/91865135