掌握常见 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)

相关推荐
llwszx2 小时前
深入理解Java锁原理(一):偏向锁的设计原理与性能优化
java·spring··偏向锁
云泽野3 小时前
【Java|集合类】list遍历的6种方式
java·python·list
二进制person3 小时前
Java SE--方法的使用
java·开发语言·算法
小阳拱白菜4 小时前
java异常学习
java
程序员岳焱5 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
FrankYoou5 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔6 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
麦兜*6 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
KK溜了溜了6 小时前
JAVA-springboot 整合Redis
java·spring boot·redis
大只鹅6 小时前
解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
spring boot·后端·elasticsearch