Java前端——HTTP协议中get和post的区别

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 只是请求方式不同,本身并不对安全起到任何作用,真正做到安全需要双端加密。