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 的整体更新。