HTTP 请求方法有哪些?
✅ 一、HTTP 请求方法(你要熟悉的最常见 5 种)
方法 | 含义 | 是否幂等 | 是否安全 | 常见应用场景举例 |
GET | 获取资源 | ✅ 是 | ✅ 是 | 获取页面、查询数据、静态资源加载 |
POST | 提交数据创建资源或操作 | ❌ 否 | ❌ 否 | 表单提交、上传文件、登录注册 |
PUT | 更新资源(整体替换) | ✅ 是 | ❌ 否 | 更新用户信息、编辑商品等 |
DELETE | 删除资源 | ✅ 是 | ❌ 否 | 删除某条记录、取消收藏 |
PATCH | 部分更新资源(局部修改) | ❌ 否 | ❌ 否 | 修改用户昵称、只改一个字段 |
✅ 二、补充:其他较少用但可提及的方法
方法 | 用途 | 面试亮点 |
HEAD | 类似 GET,但不返回响应体(只看头部) | 用于探测资源是否存在、节省带宽 |
OPTIONS | 查询服务器支持哪些请求方法 | 跨域 CORS 预检请求用到 |
TRACE | 回显收到的请求(用于调试) | 不常用,部分服务器禁用 |
CONNECT | 用于建立隧道(HTTPS 请求) | 典型用于代理服务器场景 |
✅ 三、常用方法的场景举例
1. GET
- 获取资源,不修改数据。
- 示例:访问商品详情页
/product/123
,加载页面和图片。 - 特点:可被缓存、放入 URL、浏览器地址栏能直接访问。
2. POST
- 提交数据,创建资源。
- 示例:用户注册、提交表单、上传图片
/user/register
。 - 特点:不能缓存,传递的数据放在请求体中。
3. PUT
- 更新资源(整体替换)。
- 示例:更新用户资料
/user/123
,整个 user 对象全部覆盖。 - 特点:幂等,请求体中包含完整对象。
4. DELETE
- 删除服务器端资源。
- 示例:删除购物车中的一项商品
/cart/item/123
。 - 特点:幂等,删除同一资源多次结果相同。
5. PATCH
- 局部更新资源。
- 示例:只修改用户昵称
/user/123
,传递{ nickname: "新昵称" }
。 - 特点:非幂等,区别于 PUT 的整体更新。