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

相关推荐
皮皮林55122 分钟前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
callJJ1 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
千寻girling2 小时前
《 Git 详细教程 》
前端·后端·面试
wbs_scy2 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
0xDevNull3 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp3 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端
jinanwuhuaguo3 小时前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
RuoyiOffice3 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
spring boot·后端·vue·anti-design-vue·ruoyioffice·假期·人力
xmjd msup4 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
Vane14 小时前
从零开发一个AI插件,经历了什么?
人工智能·后端