一、GET 与 POST 的区别
1. 参数携带
- get的参数:暴露在url中,eg: https://blog.csdn.net/nine2one?a=1&b=2
- post的参数:通常存储在请求体Body中,不会暴露在url路径中。实际也能在url中携带
2.参数大小限制
- get参数有大小限制,不同的浏览器限制大小不一致
- post参数没有大小限制
3.请求次数
- get请求一次
- post实际请求两次,第一次请求确定服务器是否能接收数据,能才有第二次请求,且第二次请求才将数据传输至服务器
4.上传文件
- get不能上传文件
- post可以上传文件,流处理
5.语义
- get为获取,即只用于获取数据
- post为提交,即应该只用于提交数据(真实开发中不止如此)
6.幂等性
- 幂等性:即HTTP方法,不论调用其多少次都不会产生不同的结果。即结果都不会变化。
- get 用于获取数据,无论调用多少次都不会改变结果,具备幂等性
- post 用于提交数据,可能造成数据改变。不具备幂等性