休息安全确保资源删除
Rest Security Ensure Resource Delete
背景:
我是一名刚从大学毕业的新开发人员,在一家使用 RPC 架构风格进行大量内部服务的公司工作。
他们似乎也经常改变他们在幕后使用的工具,因此 RPC 中客户端和服务器实现之间的紧密耦合是有问题的。
我的任务是重写其中一项服务,我觉得 RESTful api 会很合适,因为支持技术无论如何只能处理文件,但我有几个问题。
到目前为止,我对 REST 的理解是尽可能地分解操作并将重点转移到资源上,因此客户端和服务器一起制作一个状态机,服务器主要通过超媒体处理转换。
示例:
假设你有一个服务获取一个文件并将其分成两个字节。
我会为此设计序列
- 客户会POST他们想要拆分的文件,
- 服务器拆分文件
- 服务器将两个结果片段写入临时文件夹
- 服务器 returns 客户端应该 GET 和两个文件 URI 的
- 客户端发送一个 GET 文件
- 服务器 returns 片段,客户端应该删除 URI
- 客户端发送 URI 的 DELETE
两个片段都完成了 2 和 3。
我的问题是:
你如何确保片段在end?
- 客户端可能不会执行步骤 3
- 如果您结合步骤 2 和 3,恶意(或疏忽) 客户端可能会在步骤 1
- 之后停止,但是如果将它们全部组合起来,那不就是 RPC over HTTP 吗?
如果这两个部分是不可分割的,那么它们实际上只是一个资源的属性。
是的,如果 POST/PUT 后面必须跟一个 DELETE,那么您可能只是想将 RPC 硬塞进 REST 风格的架构中。
没有关于 "REST" 实际上是什么的真正定义,但是如果可以确定的一件事是它必须是无状态的;即每个单独的请求都必须是自给自足的——它不能依赖于先前的请求,也不能强制执行后续请求。
背景:
我是一名刚从大学毕业的新开发人员,在一家使用 RPC 架构风格进行大量内部服务的公司工作。
他们似乎也经常改变他们在幕后使用的工具,因此 RPC 中客户端和服务器实现之间的紧密耦合是有问题的。
我的任务是重写其中一项服务,我觉得 RESTful api 会很合适,因为支持技术无论如何只能处理文件,但我有几个问题。
到目前为止,我对 REST 的理解是尽可能地分解操作并将重点转移到资源上,因此客户端和服务器一起制作一个状态机,服务器主要通过超媒体处理转换。
示例:
假设你有一个服务获取一个文件并将其分成两个字节。
我会为此设计序列
- 客户会POST他们想要拆分的文件,
- 服务器拆分文件
- 服务器将两个结果片段写入临时文件夹
- 服务器 returns 客户端应该 GET 和两个文件 URI 的
- 客户端发送一个 GET 文件
- 服务器 returns 片段,客户端应该删除 URI
- 客户端发送 URI 的 DELETE
我的问题是:
你如何确保片段在end?
- 客户端可能不会执行步骤 3
- 如果您结合步骤 2 和 3,恶意(或疏忽) 客户端可能会在步骤 1
- 之后停止,但是如果将它们全部组合起来,那不就是 RPC over HTTP 吗?
如果这两个部分是不可分割的,那么它们实际上只是一个资源的属性。
是的,如果 POST/PUT 后面必须跟一个 DELETE,那么您可能只是想将 RPC 硬塞进 REST 风格的架构中。
没有关于 "REST" 实际上是什么的真正定义,但是如果可以确定的一件事是它必须是无状态的;即每个单独的请求都必须是自给自足的——它不能依赖于先前的请求,也不能强制执行后续请求。