API Server如何进行状态保存

之前做的web前端,页面都采用服务器渲染的模式
而前端时间做了一个ios项目,服务器就只用提供API就可以了
就很类似提供给web前端的ajax接口
而移动app的做法是把登陆信息保存在本地,而每次网络请求都把认证信息带上

基于一些疑问,上网查了一下
貌似现在web开发貌似也有不少API Server的做法
即后台接口只提供数据,不负责渲染页面
那我就有一些疑问了,,这样的话怎么进行状态保持呢(session在这种做法下还有效吗)?
还有,这样与之前饱受诟病(好吧,只是我的偏见)的富ajax做法又用什么不一样呢?
还是说,要搭配各种前端框架实现的前端路由,前端模板渲染等等的成熟的方案才能实现呢(如angular)?
倒是想到一种做法,是通过node中间层来实现,
由node请求Server数据,返回node再进行渲染,本质来说还是服务端渲染的做法
只是把业务逻辑和显示逻辑分离开来了?

求解惑

阅读 5.1k
2 个回答
  1. HTTP是无状态的,session也是模拟出来的东东,天然是没有的
    C/S模式下用户登陆信息的处理过程和B/S模式下处理session的过程类似

    • API Server保存客户端的登陆及认证标示信息同时把认证过的用户信息token发送会客户端

    • 客户端保存用户的登陆状态,在需要和后台交互的时候,用登陆认证后返回的token信息把信息通过某个算法的某个值

    • API Server拿到这个值后,再通过算法验证信息是否合法,验证信息是否过期等

  2. 和富客户端处理方式相同,只是现在客户端不再是个浏览器而是一个具有本地资源访问能力本地环境

  3. 现在的客户端的计算能力原来越强,完全可以把服务器端的页面渲染功能放在客户端进行,更好地释放服务器的压力,提供本地资源的利用率

你所言的本人都经历过:
1.session如果是web端 可是有个sessionStoreage的东西 如果仅仅是为了会话状态保持的话够用了
2.angular确实是神器,如果要轻量级的路由类库 可以看看这货
http://clarkdo.github.io/javascript/2014/09/04/22/
3.前端模板渲染 这里就不清楚你指的哪种概念了,angular的页面组装嵌套功能都很强大都有插件或者直接写 template directive都行;当然ejs jade也可以了解一下
4.node做伪前端确实可行,比如H5页面只通过一些轻量级js包构建的推广等此类需求使用node伪前端就特别适合
5.明确自己的需求,清晰地阐述业务场景再来提问,答主才可以更加客观的给予帮助

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题