【发布时间】:2011-08-10 09:52:00
【问题描述】:
所以我们有一个取消订阅链接 - 这本质上是一个 HTTP GET。
appropriate RFC 说这应该是幂等的,但在我看来,用户的期望是他们点击链接来采取行动。
我已经实现了这一点,以便该链接将您带到一个页面,该页面有一个大的确认按钮,然后更新您的订阅,确认并显示您帐户的最终状态(我们有不止一种订阅)
但我想知道如果这个人只是跳过确认按钮阶段,这会不会是一个更好的用户体验......
“我是不是想多了?”这个问题的答案肯定是的,但我想知道人们对平衡幂等 GET 的最佳实践与不混淆用户期望的最佳实践的看法是什么……
【问题讨论】:
-
取消订阅页面的 GET 链接是幂等的,因为它总是生成相同的取消订阅页面(前提是您没有意外的副作用,例如计算两次点击)。是的,你想多了。
-
@Robert 在链接上取消订阅操作会很危险,预取站点的软件(应该是可能的)假设在 GET 上没有任何丢失(正如标准所说,请参阅罗斯的回答)。例如。见Google Accelerator
-
@Jonas:我不是这么说的。澄清一下,取消订阅链接应该生成一个取消订阅页面,该页面使用 POST 来执行取消订阅操作,而不是 GET。
-
@Robert:啊,我明白了,我误解了你的第一条评论。感谢您的澄清。
-
我很惊讶这家公司已经关闭了……这不是关于软件开发的吗??
标签: http http-post user-experience idempotent