也谈一点web应用架构的看法——基于http api的web应用

        最近写了一些web应用,说到web应用无外乎前端和后端,之前的设计通常都是通过controller处理用户请求然后返回用户对应的页面展示处理结果,这样前端和后端就有很高的耦合性,也不太方便前端开发和后端开发进行整合,效率低下,而且这样的后端给其他的平台提供服务也很别扭(有状态和无状态的混在一起),这里说的其他的平台指的是比如移动客户端,别的系统等,所以现在流行的架构是采用基于http api的。

  • 基于http api的优势
          1.前端和后端真正的分离

前端专注于页面展示的开发,通过约定好的api和后端交互,以及对api结果的处理逻辑;后端专注于各类api实现,返回指定类型的数据(json,xml等),这样前端和后端可以作为独立的项目进行并行的开发,由于更加专注和独立,所以对于代码质量和开发效率都是有很大好处的;

          2.为多平台提供服务

基于api的应用,由于独立性,对服务的对象没有要求,可以是web项目,可以是移动app,可以是其他别的系统等等,这些终端通过api调用进行数据交互和数据处理,所以适用性更广。

  • api设计需要考虑的东西
       基于api的架构优势明显,应该是今后的主流,但基于api的架构同样需要考虑很多相关的问题。

       1.由于都是restful api,如何处理session等状态信息?

       2.api的安全性和权限如何实现?


关于上面两点网上有很多相关的文章可以参考,都有比较成熟的解决方案,之后有时间再仔细研究下。

上面说的都是一些自己的认识,没有具体的代码实现。更详细的东西可以参考这篇翻译文章:http://www.oschina.net/translate/creating-an-api-centric-web-application  ,写的很清楚,读完应该很有更好的认识。


第一次写博客,有些东西说的不是很清楚或者是有问题的,大家轻喷...感觉有很多东西想说但说不出来,平时写的太少了,今后要多写写自己的一些心得,应该会自己能力有很大帮助,坚持,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值