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
相关推荐
金色光环5 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
数智化精益手记局5 小时前
拆解物料管理erp系统的核心功能,看物料管理erp系统如何解决库存积压与缺料难题
大数据·网络·人工智能·安全·信息可视化·精益工程
发光小北7 小时前
Modbus TCP 转 Profibus DP 网关如何应用?
网络协议
灰子学技术7 小时前
Envoy HTTP 过滤器处理技术文档
网络·网络协议·http
Olivia051405149 小时前
Voohu:音频变压器的屏蔽接地技术对50Hz工频噪声抑制的影响
网络·机器人·信息与通信
byoass9 小时前
智巢AI知识库深度解析:企业文档管理从大海捞针到精准狙击的进化之路
开发语言·网络·人工智能·安全·c#·云计算
zhihuishuxia__9 小时前
Multiplex通讯(多路复用通讯)
网络·图像处理·数码相机·计算机视觉·自动化
勤劳的进取家9 小时前
数据链路层基础
网络·学习·算法
ZenosDoron9 小时前
虚拟机软件(如 VirtualBox、VMware)通常提供三种主要的网络模式
网络·智能路由器
乌托邦的逃亡者9 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos