HTTP 基础概念
在前后端分离开发中,最常被问到的问题莫过于:
- GET 和 POST 到底有什么区别?
- PUT、DELETE、PATCH 这些方法什么时候用?
- 为什么有的接口只能用 POST?
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 中。


