之前做的web前端,页面都采用服务器渲染的模式
而前端时间做了一个ios项目,服务器就只用提供API就可以了
就很类似提供给web前端的ajax接口
而移动app的做法是把登陆信息保存在本地,而每次网络请求都把认证信息带上
基于一些疑问,上网查了一下
貌似现在web开发貌似也有不少API Server的做法
即后台接口只提供数据,不负责渲染页面
那我就有一些疑问了,,这样的话怎么进行状态保持呢(session在这种做法下还有效吗)?
还有,这样与之前饱受诟病
(好吧,只是我的偏见)的富ajax
做法又用什么不一样呢?
还是说,要搭配各种前端框架实现的前端路由,前端模板渲染等等的成熟的方案才能实现呢(如angular)?
倒是想到一种做法,是通过node中间层来实现,
由node请求Server数据,返回node再进行渲染,本质来说还是服务端渲染
的做法
只是把业务逻辑和显示逻辑分离开来了?
求解惑
HTTP是无状态的,session也是模拟出来的东东,天然是没有的
C/S模式下用户登陆信息的处理过程和B/S模式下处理session的过程类似
API Server保存客户端的登陆及认证标示信息同时把认证过的用户信息token发送会客户端
客户端保存用户的登陆状态,在需要和后台交互的时候,用登陆认证后返回的token信息把信息通过某个算法的某个值
API Server拿到这个值后,再通过算法验证信息是否合法,验证信息是否过期等
和富客户端处理方式相同,只是现在客户端不再是个浏览器而是一个具有本地资源访问能力本地环境
现在的客户端的计算能力原来越强,完全可以把服务器端的页面渲染功能放在客户端进行,更好地释放服务器的压力,提供本地资源的利用率