后端、数据与安全 深入了解 A1 · 正式标准 平台: 网页

Idempotency

幂等性

幂等性是指同一个预期操作重复执行,服务器端的结果仍和执行一次相同。每次响应不一定要完全一样。

看看怎样运作
也有人这样说 Idempotency重试安全幂等操作

看看怎样运作

原创情境示例幂等性

另一个例子

付款超时后,买家用幂等键 `8f2…` 和相同的规范化请求哈希重试。服务器会返回第一次的交易,不会再扣一次款。同一个键如果改用不同金额会被拒绝,而且这些键会按文档中的规则过期。

主要部分

  1. 01操作标识
  2. 02重复检测
  3. 03稳定效果与保存结果

什么时候用

不可靠的网络、消息队列、支付调用,以及可能至少投递一次消息的系统,都需要设计成可安全重试。

什么时候不要用

`POST` 不一定都不是幂等操作。幂等键也不能代替数据库事务、授权或冲突检查。

代码里的名称

HTTP method semantics and/or scoped idempotency key with request fingerprint

上线前要检查

检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。

可以直接复制的需求

预期结果:为这套系统设计或检查 幂等性 (Idempotency),并让数据保持正确、安全且容易维护。 用户场景:付款超时后,买家用幂等键 `8f2…` 和相同的规范化请求哈希重试。服务器会返回第一次的交易,不会再扣一次款。同一个键如果改用不同金额会被拒绝,而且这些键会按文档中的规则过期。 技术概念或控制措施:幂等性 (Idempotency)。 适用理由:不可靠的网络、消息队列、支付调用,以及可能至少投递一次消息的系统,都需要设计成可安全重试。 不应使用的情况:`POST` 不一定都不是幂等操作。幂等键也不能代替数据库事务、授权或冲突检查。 工程要求:定义输入、输出、接口约定,以及任何情况下都不能破坏的规则。说明授权与输入检查范围。定义失败、超时、重试和重复执行只生效一次的规则。也要定义数据迁移与兼容限制。 运营要求:加入监控信号与隐藏敏感数据的日志。设置容量上限并写好操作手册。测试恢复与回到上一版的流程。 验收标准:接口约定与失败路径测试通过。重试或部分失败时,数据与授权规则仍正确。性能上限、监控、恢复与回到上一版的方法都已验证。 证据与限制(证据边界):标准只涵盖列出的范围,不会替你决定外观、产品做法或 Vibulary 的教学示例。 待确认:程序运行环境、数据位置、流量形态、数据一致需求和安全边界。也要确认兼容周期、服务目标(SLO)与恢复上一版的限制。

检查这份需求

请 AI 编程助手检查当前如何使用 幂等性 (Idempotency)。 定义:幂等性是指同一个预期操作重复执行,服务器端的结果仍和执行一次相同。每次响应不一定要完全一样。 生产环境检查:检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。

A1
这个术语有多正式?

正式标准

本页说明的规则,可以在列出的正式标准中找到。

标准只涵盖列出的范围,不会替你决定外观、产品做法或 Vibulary 的教学示例。

适用范围
只包含来源有说明的内容:正式名称、定义、语义、实现
文档状态
标准轨文档
核验日期
2026-07-30

证据来源与适用范围

正式来源 + 术语参考资料 · IETF · 标准轨文档 HTTP Semantics — 9.2.2 Idempotent Methods 9.2.2 Idempotent Methods 适用范围: 正式名称、定义、语义、实现 本页用途: 直接术语参考 来源涵盖内容: 正式名称, 定义, 语义, 实现 正式来源 · IETF · 标准轨文档 HTTP Semantics 适用范围: 正式名称、定义、语义、实现 本页用途: 只支持写明的范围 来源涵盖内容: 正式名称, 定义, 语义, 实现

自行复制

浏览器无法自动复制。请选择下方文字,再自行复制。