在普通的 JAVA WEB 开发中 一般是在客户端存储 session id 服务端存留这个 session id 对应的登陆 session 这显然不是 restful 无状态
网上有种说法是将 session id 这个资源放在 redis 缓存上 这样服务器端应用程序没有保留状态 意思就是将资源保留在缓存或者数据库上 而非应用程序本身,这样就是 restful 无状态
但是我看了这篇文章
http://www.cnblogs.com/rainy-shurun/p/5412162.html
感觉里面的思路认为上述都是 unrestful 的,有状态的 文章提出的思路是:RESTful 架构中需要分离出 OAuth 服务,将所有的应用认证统一管理,后续的每次请求都需要通过授权服务,再转向到服务器,进行权限管理,这样,就可以将应用的验证状态分离出来,使得后端分布式变为无状态方式,之后的负载或者其他的处理,更加简单,但是,分离出来,架构复杂度提升,维护和开发、测试的成本增加。
但是这个 OAuth 服务本身难道不需要保存 session id 等会话资源吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.