get 和 post是 HTTP 请求的两种方法
应用场景:
一般 get 请求用于对服务器资源不会产生影响的场景,如请求一个网页的资源
post 请求一般用于对服务器资源会产生影响的情景,如注册用户这一类的操作。
get请求一般用于向服务器请求数据,post请求一般用于向服务器提交数据
是否缓存:
浏览器一般会对 get 请求缓存,但很少对 post 请求缓存。
传参方式:
get 通过 url 传参,post 通过 body 传参
参数类型:
get 参数只允许 ASCII 字符,post 参数支持更多的数据类型(如文件、图片)
get请求参数:一般约定俗成放在 URL 的 query 中,而各端对URL的长度都做了不同程度的限制,因此这就是get请求数据有上限的底层原因。
安全性:
query 和 body 上的参数都是明文的,HTTP本身就是不安全的协议,get 和 post 只是请求方式不同,本身并不对安全起到任何作用,真正做到安全需要双端加密。