HTTP 常见方法:GET(获取资源)、POST(提交数据/创建资源)、PUT(整体更新/替换)、PATCH(部分更新)、DELETE(删除)、HEAD(只取响应头)、OPTIONS(查询支持的方法,CORS 预检使用)。

GET 与 POST 的区别

  • 语义:GET 用于读取,POST 用于提交/修改;GET 应是安全且幂等的,POST 通常非幂等。
  • 参数位置:GET 参数在 URL query 中,POST 一般放在请求体(body),格式更灵活(JSON、表单、文件)。
  • 缓存与历史:GET 可被浏览器缓存、收藏、保留在历史记录;POST 默认不缓存。
  • 长度限制:URL 长度受浏览器/服务器限制(实践中几 KB 到几十 KB),body 基本无此限制。
  • 安全误区:POST 并不比 GET"更安全",参数放 body 里抓包照样可见,安全要靠 HTTPS。

易错点:幂等性指的是重复执行同一请求效果相同——PUT/DELETE 幂等,POST 不幂等(重复提交可能创建多条记录),这是支付、下单接口要做幂等设计的原因。

追问方向:幂等性如何实现(唯一请求号、状态机)、PATCH 与 PUT 的取舍。