HTTP 请求方式详解:GET、POST 及其他常用方法
在实际开发中,接口交互是前后端沟通的桥梁。最常见的困惑莫过于:GET 和 POST 到底有什么区别?PUT、DELETE 又该何时介入?为什么有些接口只能用 POST?理解这些底层逻辑,能帮你写出更健壮、更符合规范的代码。
HTTP 基础与常见方法
HTTP(HyperText Transfer Protocol)定义了浏览器与服务器通信的规则。不同的请求方法对应不同的操作意图。
| 方法 | 作用 | 是否修改数据 |
|---|---|---|
| GET | 获取数据 | 否 |
| POST | 提交数据 | 是 |
| PUT | 更新数据(整体替换) | 是 |
| PATCH | 局部更新 | 是 |
| DELETE | 删除数据 | 是 |
| HEAD | 只获取响应头 | 否 |
| OPTIONS | 查询支持的请求方式 | 否 |
GET 与 POST 的核心差异
GET 请求
主要用于获取资源。参数附加在 URL 后面,会被浏览器缓存,且存在长度限制。多次请求同一 URL 结果一致,具有幂等性。
axios.get('/api/user/list', {
params: { page: 1, pageSize: 10 }
})
生成的请求类似:GET /api/user/list?page=1&pageSize=10
适用场景:查询列表、详情、分页数据等不改变服务器状态的操作。
POST 请求
用于提交数据或创建资源。数据放在请求体(Body)中,不会暴露在 URL,因此安全性更高,且基本无长度限制。通常不具备幂等性(重复提交可能产生多条记录)。
axios.post('/api/user/login', {
username: 'admin',
password: '123456'
})
数据不会出现在地址栏中。
适用场景:登录注册、表单提交、创建新资源、复杂条件查询。
其他方法
- PUT: 整体更新资源,要求幂等。
- PATCH: 局部更新,只修改指定字段。
- DELETE: 删除指定资源。
// 整体更新
axios.(, { : , : })
axios.(, { : })
axios.(, { : { : } })



