不改变服务器状态但每次都返回一个新资源的 HTTP 方法是幂等的吗?

问题描述

我正在我的服务器中实现 REST 路由,每次都返回一个新的 URL,但不更改任何服务器“状态”。

特别是,我正在写一个类似于这样的路线:

GET/POST example.com/upload-url

此路由的作用是创建一个唯一 URL,然后调用者可以使用该 URL 将文件安全地上传到服务器。具体来说,它将创建一个 S3 presigned put request,并返回它。路由处理程序不会在 S3 中创建文件。您也可以连续调用此 REST 路由 3 次,并且对服务器没有影响。它也不会使服务器返回的其他 URL 无效。

例如,假设您连续调用此路由 3 次:

GET example.com/upload-url

三个回报会有所不同,可能是:

example.com/aaa
example.com/bbb
example.com/ccc

每个返回的 URL 都有自己的过期时间。直到每一个到期,它都是完全有效的。然后您可以使用每个 URL,并且您的文件将被上传。需要注意的是,如果您使用 example.com/aaa 上传一个文件,然后使用 example.com/bbb 上传了另一个文件,那么您使用 aaa 上传文件将被覆盖。

问题是 - 以这种方式定义,GET example.com/upload-url 是幂等的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)