在前后端分离开发中,接口调用是高频场景。很多开发者对 GET、POST 的区别感到模糊,甚至误用导致安全问题。本文系统梳理 HTTP 请求方式的核心差异、原理及实际使用规范,结合 Axios 实战说明。
HTTP 协议简述
HTTP(HyperText Transfer Protocol)是浏览器与服务器通信的基础规则。理解它有助于我们更准确地设计接口。
常见请求方法概览
| 方法 | 作用 | 是否修改数据 |
|---|---|---|
| GET | 获取数据 | 否 |
| POST | 提交数据 | 是 |
| PUT | 更新资源(整体替换) | 是 |
| PATCH | 局部更新 | 是 |
| DELETE | 删除资源 | 是 |
| HEAD | 只获取响应头 | 否 |
| OPTIONS | 查询支持的请求方式 | 否 |
核心方法解析
GET 请求
特点
- 主要用于获取数据
- 参数附加在 URL 后面
- 支持浏览器缓存
- 具有幂等性(多次请求结果一致)
代码示例
axios.get('/api/user/list', {
params: { page: 1, pageSize: 10 }
})
生成的实际请求为:GET /api/user/list?page=1&pageSize=10
适用场景
- 列表查询
- 详情查看
- 分页数据拉取
POST 请求
特点
- 用于提交或创建数据
- 数据放在请求体(Body)中
- 默认不被浏览器缓存
- 常用于创建新资源
代码示例
axios.post('/api/user/login', {
username: 'admin',
password: '123456'
})
注意:敏感数据不会暴露在 URL 中。
适用场景
- 用户登录


