掌握常见 HTTP 方法:GET、POST、PUT 到 CONNECT 全面梳理

今天面试还问了除了 get 和 post 方法还有其他请求方法吗,一个都不知道,这里记录下。

🌐 常见 HTTP 请求方法一览

方法 作用描述 是否幂等 是否常用
GET 获取资源,参数一般拼接在 URL 中 ✅ 是 ✅ 常用
POST 创建资源 / 提交数据,参数放在请求体中 ❌ 否 ✅ 常用
PUT 更新资源(整个资源替换) ✅ 是 ✅ REST常用
PATCH 部分更新资源(仅修改部分字段) ❌ 否 ✅ REST常用
DELETE 删除资源 ✅ 是 ✅ REST常用
HEAD 类似 GET,但不返回响应体(仅返回响应头),用于检查资源存在 ✅ 是 ⬅️ 一般用于探测
OPTIONS 获取当前 URL 所支持的方法,通常用于跨域请求预检(CORS) ✅ 是 ✅ CORS 预检
TRACE 回显请求内容,用于测试和诊断 ✅ 是 ❌ 极少用
CONNECT 用于代理通信建立隧道,常见于 HTTPS 代理连接 ❌ 否 ❌ 少用

🧠 小贴士:哪些方法是幂等的?

幂等(Idempotent)意思是:无论你调用多少次,结果都一样

  • GET, PUT, DELETE, HEAD, OPTIONS 是幂等的

  • POST, PATCH, CONNECT 是非幂等的


🌍 RESTful 风格推荐

在 RESTful 接口设计中,推荐遵循如下规范:

操作 URL 示例 方法
获取用户 /users/1 GET
新增用户 /users POST
更新用户 /users/1 PUT
修改用户名 /users/1/name PATCH
删除用户 /users/1 DELETE

📦 面试中常被问到的问题:

  1. GET 和 POST 有什么区别?

    • 参数传递方式、是否缓存、幂等性、是否可被书签保存等差异。
  2. PUT 和 PATCH 有什么不同?

    • PUT 是整体更新,PATCH 是部分字段更新。
  3. OPTIONS 有什么作用?

    • 主要用于跨域请求的预检(Preflight),浏览器会自动发送 OPTIONS 请求。
  4. POST 是不是幂等的?

    • ❌ 不是。因为可能每次提交都会创建一个新资源(如订单、记录等)。

🧭 常见 HTTP 请求方法图解(Mermaid)

相关推荐
斑鸠喳喳1 分钟前
可重入锁 ReentrantLock
java·源码
IT枫斗者枫哥2 分钟前
Spring AI 聊天记忆落库:重启后,怎样接上上一轮对话
java
devpotato3 分钟前
HashMap 扩容机制:从源码细节到工程实践
java
yueping23 分钟前
如何用idea打开jar包
java
IT_Octopus6 分钟前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
许彰午13 分钟前
51-BpmnDesigner集成
java·低代码·架构
蜗牛互联网13 分钟前
Claude放宽生命科学限制:代价是验证、分级和30天留存
java·人工智能·后端
上进小菜猪17 分钟前
被 32 位整数卡了 30 年脖子:PostgreSQL 事务号困局与 V9 的 64 位解法
后端
泡海椒32 分钟前
评分系统最佳实践:JQuick-Java实现权重、阈值动态配置评分
java·人工智能·python
三克的油33 分钟前
java-学习1
java·开发语言·学习