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

相关推荐
栈与堆23 分钟前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
一路向北·重庆分伦25 分钟前
03-01:MQ常见问题梳理
java·开发语言
一 乐26 分钟前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
lhrimperial32 分钟前
企业智能知识库助手落地实践:从RAG到Multi-Agent
java·spring cloud·微服务·系统架构·知识图谱
hugerat34 分钟前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
3***688436 分钟前
Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
java·spring boot·后端
C***u17640 分钟前
Spring Boot问题总结
java·spring boot·后端
上进小菜猪40 分钟前
基于 YOLOv8 的人体与行人检测智能识别实战 [目标检测完整源码]
后端
Elieal1 小时前
5 种方式快速创建 SpringBoot 项目
java·spring boot·后端
c***69301 小时前
Spring Boot实时推送技术详解:三个经典案例
spring boot·后端·状态模式