REST原则要求无状态,那是否意味着不能使用Session?

乐山ing 发布于 2016/08/23 16:51
阅读 3K+
收藏 0

REST原则要求无状态,那是否意味如果架设RESTful风格的应用就不能使用Session?

那状态信息保存在哪里呢?

如果无状态,感觉对web应用的限制很大啊

加载中
2
AlanVision
AlanVision

RESTful规范下上下文信息一般都保存在缓存中,如redis等,效果几乎和session一样,而且更加灵活,个人感觉没什么明显弊端,并且可以实现前后端分离,让前后端各司其职,降低耦合。

至于你说的京东购物车,现在大多购物车应该采用物理表来实现吧,不应该是存session或者缓存中,如果存session中会有明显的弊端,退出登录后,购物车会被清空,应该被持久化,然后再进行缓存查询

AlanVision
AlanVision
回复 @乐山ing : 不复杂啊,使用起来比session更好操作,而且集群环境下,更可控。当然如果项目本身不用缓存,而且是纯后台管理系统而不是提供服务接口,那还是用session吧
乐山ing
乐山ing
如果登录的话,用户的状态信息也放在redis中,是否略微复杂了一点?
1
ked
ked
是的。尽量不用session。而是把相关上下文存在共享存储里,比如redis或消息队列。应用结构要适应进行相应设计。
乐山ing
乐山ing
不知道京东购物车是不是这样实现的
0
mn_1127
mn_1127

我们自己公司是用RESTful作为微服务服务接口(平台接口)使用的,

具体的应用(web或者wap或者app服务端)中自己去维护session的

返回顶部
顶部