gpt4 book ai didi

web-services - 乐观锁定和 HTTP If-Match header

转载 作者:可可西里 更新时间:2023-11-01 16:22:33 25 4
gpt4 key购买 nike

您在使用 If-Match 在 Web 服务上实现乐观锁定方案方面有何经验?

为了简化事情,假设我们正在构建一个简单的 CMS,仅由“页面”组成,每个页面只有一个主体。如果两个用户同时开始编辑同一页面,则只有最后保存的用户所做的更改会被提交(或者更确切地说,他们会覆盖另一个用户所做的更改。)

为了防止这种情况,我计划使用条件 PUT,即获取 ETag 响应 header 的值,并将其作为 的值提供PUT 请求中的 If-Match header 。如果此值与基于页面当前状态的值不匹配,服务器将拒绝 PUT 并返回 412。

我知道一个明显的陷阱,在先决条件检查和实际数据库更新之间可能会出现竞争条件,但这些可以通过事务和排序来补救。

你在实践中尝试过这个吗?这是个坏主意吗?

最佳答案

嗯,这是 If-Match 的设计目的之一,是的,它按设计工作。

关于web-services - 乐观锁定和 HTTP If-Match header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com