| 名称 | If-Match |
|---|---|
| 作用 | 匹配则执行(否则 412) |
| 规范 | RFC 9110 §13.1.1 |
| 通配 | "*" 匹配任意当前表示;比较采用强校验 |
乐观锁更新流程
乐观锁更新流程
# 1) 读取并记录 ETag
ETAG=$(curl -sI https://api.example.com/docs/7 | awk '/[Ee][Tt]ag:/{print $2}' | tr -d '\r')
# 2) 带条件更新
curl -si -X PUT https://api.example.com/docs/7 -H "If-Match: $ETAG" -d @doc.md并发冲突返回 412;服务端也可配合要求必须携带条件头的 428 策略,强制客户端使用乐观锁。