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
相关推荐
ꪶꪜ4452 小时前
vlan综合实验
linux·运维·网络
Bruce_Liuxiaowei3 小时前
HTTPie 完全指南:比 curl 更人性化的 HTTP 调试工具
网络·网络协议·http
亚空间仓鼠3 小时前
OpenEuler系统常用服务(八)
linux·运维·服务器·网络
预立科技3 小时前
SSE、WebSocket 和 HTTP
websocket·网络协议·http·sse
Blurpath住宅代理3 小时前
跨境数据采集为何总“看错市场”?IP地理定位偏差的技术解析与应对策略
网络·静态ip·代理ip·住宅ip·静态代理
网络安全许木3 小时前
自学渗透测试的第十天(HTTP进阶与Burp Suite基础)
网络·网络协议·http·网络安全·渗透测试
亚空间仓鼠3 小时前
OpenEuler系统常用服务(九)
linux·运维·服务器·网络
肖爱Kun3 小时前
SRT协议封装MPEG-TS 流的视频和音频TS头结构
网络·音视频
.select.3 小时前
TCP 4(四次挥手)
服务器·网络·tcp/ip