session - 如何“打破” REST 中的无状态规则
问题描述
由于我收集了以下注释,我想用以下问题标题来处理“REST 中什么是无状态”的问题:
“无状态”意味着用户必须始终在请求中提供必要的信息以供服务器处理。
因此,客户端可以包含许多标识符,例如要在每个请求中传递的身份验证密钥,以了解谁是用户。(不知道他的存在)
当客户端请求其业务的订单列表时,服务器可以知道从哪个资源获取信息以及如何使用用户 ID 过滤它。
在 ASP.NET 会话中,客户端必须首先提供“会话 ID”cookie 才能加载会话数据。同样,客户端提供了服务器处理所需的数据。ASP.NET 只是使用缓存的会话数据准备端点方法以供进程使用。这种用法的一个例子是客户端登录到哪个子用户。
这让我感到困惑,因为在一些关于 REST 的文章中,“无状态”规则意味着不应将有关客户端的会话存储在服务器中。例如“服务器不会存储有关最新 HTTP 请求的任何信息......没有会话,没有历史记录”
我能想到的唯一示例(“正确地”违反规则)是您需要通过多个请求处理ONE ACTION的情况。
什么可以描述为完全打破REST无状态规则的服务示例?
解决方案
推荐阅读
- awk - Replace String only between two keywords
- c# - DocuSign C# REST API Attaching documents with signers to existing envelope
- javascript - how to strike out text when a user hovers over it
- javascript - Determine if toggleClass added or removed class
- jdbc - 如何执行 JDBC Kafka 连接器 jar
- android - recyclerview 中的 Webview 没有就地展开。(底部没有缩小)
- javascript - 全局将 role=button 设置为 onkeypress 空格键,用于带有 href 的伪按钮
- c# - Add text with the 1st line that is written to an external file
- python - Tornado 在多次连接下载后不会释放内存
- firebase - Flutter cloud_firestore 插件 Android 上的事务