gpt4 book ai didi

http - 如何保护跨多个服务器的 POST 请求以使其暂时幂等?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:25:00 26 4
gpt4 key购买 nike

众所周知,POST 方法不是幂等的。如果用户在短时间内发送多个请求,则会重复操作。
例如:

  • 创建提交的 POST 请求由用户调用。
  • 服务器允许类似的提交,因此如果用户两次发送相同的请求,第二次不会因为违反唯一约束而失败。
  • 用户不小心发送了两个请求,创建了两个相同的资源(自动生成的资源 ID 除外)。

如何避免这种情况,同时确保我的服务器可以扩展?如果我只有一个实例,我可以向服务器添加一个临时超时列表,这将阻止用户暂时在同一台服务器上完成类似的请求。但是,如果请求被传递到不同的服务器实例,则该服务器不会将用户列入超时列表,并且会很好地处理第二个请求。
我知道我可以在客户端实现一些功能,例如禁用临时提交按钮,这样用户一次只能发送一个请求,但是有没有办法在服务器端处理这个问题?

最佳答案

警告:我在 Web 开发方面没有太多生产经验。

如果目标是防止“提交”键被意外按下两次,那么我会以某种方式将生成的 GUID 添加到 POST 网页(表单字段?)。发布的内容和 GUID 形成唯一的 key 。它可以防止相同的内容从同一生成的页面提交两次。

关于http - 如何保护跨多个服务器的 POST 请求以使其暂时幂等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029813/

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