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

相关推荐
认真敲代码的小火龙17 小时前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计
he___H17 小时前
滑动窗口一题
java·数据结构·算法·滑动窗口
扶苏-su17 小时前
Java---事件处理机制
java·开发语言
雨中飘荡的记忆17 小时前
Hutool工具库实战
java
Java水解17 小时前
前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践
前端·后端
镜花水月linyi17 小时前
Java 线程创建的完整链路:从 Java 层 → JVM 层 → 操作系统层
java·后端·面试
zfj32117 小时前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
历程里程碑17 小时前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法
ss27317 小时前
高并发读场景:写时复制容器(Copy-On-Write)
java·开发语言·rpc
文心快码BaiduComate17 小时前
我用文心快码Spec 模式搓了个“pre作弊器”,妈妈再也不用担心我开会忘词了(附源码)
前端·后端·程序员