一、在浏览器上的不同
- 编码类型不同 ( application/x-www-form-urlencoded / application/x-www-form-urlencoded 或 multipart/form-data
- GET 参数保留在浏览器历史中,POST 不会
- GET 方法向 URL 添加数据;URL 的长度是受限制的,POST不受限制
- GET 只允许 ASCII 字符,POST 没有限制
- GET 的数据暴露在url中,安全性低,POST不会暴露出来
二、GET 和 POST 报文上的区别
- GET 和 POST 方法没有实质区别,只是报文格式不同
- GET 和 POST 只是 HTTP 协议中两种请求方式,而 HTTP 协议是基于 TCP/IP 的应用层协议,无论 GET 还是 POST,用的都是同一个传输层协议,所以在传输上,没有区别
- 两种方法本质上是 TCP 连接,没有差别,只要服务端支持,你可以在 GET方法用body传递参数,也可以在POST方法中,将数据放在url中
三、其他
- GET 方法参数的写法: xxxx/user/age/22 或者 xxxx/user?age=22
- HTTP 在网络上是明文传输的,只要在网络节点上捉包,就能完整地获取数据报文,HTTPS 是加密的安全传输
参考链接:
https://mp.weixin.qq.com/s/4_IQcjcrsRS0iZ2ze7nQRA