Http方法详解

查(Read) → GET

增(Create) → POST

改(Update) → PUT / PATCH

删(Delete) → DELETE

幂等性 :多次执行结果相同
安全性:不修改服务器状态

1. GET - 获取资源

  • 作用:从服务器获取指定资源

  • 特点

    • 幂等(多次请求结果相同)

    • 可缓存

    • 参数暴露在 URL 中(有长度限制)

    • 无副作用(只读操作)

  • 示例GET /users/123 获取ID为123的用户信息


2. POST - 创建资源

  • 作用:向服务器提交数据,创建新资源

  • 特点

    • 非幂等(多次提交会创建多个资源)

    • 数据在请求体(Body)中传输

    • 无缓存

  • 示例POST /users 创建新用户,数据:{"name":"张三"}


3. PUT - 全量更新

  • 作用:完整替换目标资源

  • 特点

    • 幂等

    • 需提供资源的完整表示

    • 不存在则创建(取决于实现)

  • 示例PUT /users/123 替换ID为123的用户全部信息


4. PATCH - 局部更新

  • 作用:对资源进行部分修改

  • 特点

    • 非幂等(可能,视具体实现)

    • 只发送需要修改的字段

    • 节省带宽

  • 示例PATCH /users/123 仅修改邮箱:{"email":"new@example.com"}

表格

对比 PUT PATCH
更新范围 完整替换 局部修改
未提供字段 被清空/设为默认值 保持不变
请求体大小 较大 较小

5. DELETE - 删除资源

  • 作用:删除指定的资源

  • 特点

    • 幂等(删除一次和多次结果相同)

    • 不可恢复(通常)

  • 示例DELETE /users/123 删除ID为123的用户


6. HEAD - 获取元信息

  • 作用:与 GET 相同,但只返回响应头,不返回响应体

  • 特点

    • 幂等

    • 用于检查资源是否存在、获取文件大小(无需下载内容)

  • 示例HEAD /large-file.zip 获取文件大小,判断是否需要更新


7. OPTIONS - 查询支持的方法

  • 作用:查询服务器支持的 HTTP 方法和其他选项

  • 特点

    • 幂等

    • 常用于 CORS 预检请求

  • 示例OPTIONS /users 返回 Allow: GET, POST, HEAD, OPTIONS


8. TRACE - 回显测试

  • 作用:服务器将收到的请求原样返回,用于诊断

  • 特点

    • 存在安全风险(XST 攻击),通常被禁用
  • 现状:生产环境基本禁用


9. CONNECT - 建立隧道

  • 作用:与服务器建立网络连接(主要用于 HTTPS 代理)

  • 示例CONNECT www.example.com:443 建立 SSL 隧道


核心属性对比

表格

方法 幂等性 安全性 可缓存 请求体
GET
POST
PUT
PATCH
DELETE
HEAD
OPTIONS

Q:POST 和 PUT 有什么区别?

  • POST 用于创建,由服务器分配新资源 URI

  • PUT 用于创建或更新,客户端指定完整 URI

Q:PATCH 和 PUT 选哪个?

  • 修改全部字段 → PUT

  • 修改部分字段 → PATCH(更灵活、高效)

Q:GET 能传 Body 吗?

  • 语法上允许,但语义不推荐,且部分服务器/代理会忽略 GET 的 Body
相关推荐
xiaoye-duck5 分钟前
《Linux 网络编程》深入传输层 UDP 协议原理:端口、报文、缓冲区与内核源码解析
linux·网络·udp
好评12437 分钟前
【Linux】数据链路层
linux·运维·网络
天衍四九-41 分钟前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
Jae den44 分钟前
网络丢包是什么?
网络
XR1234567882 小时前
医院无线整网高密覆盖选型深度解析
运维·网络
发量惊人的中年网工2 小时前
企业一体化安全网关选型:适用规模、需求架构与实施建议
网络
取啥都被占用2 小时前
两个网络供应商靠树莓派跨个域
网络·树莓派
是个西兰花4 小时前
网络基础1
linux·网络·c++·智能路由器
酒神dnspup5 小时前
DNSPup 免费体验监控指南:证书、DNS、IP、端口和网页一站式监控
网络协议·tcp/ip·iphone·网站监控
Cx330❀5 小时前
【Linux网络】深入TCP协议:从滑动窗口到拥塞控制与性能优化全景解析
linux·开发语言·网络·tcp/ip·ai·性能优化·ai编程