写在前面
前后端分离开发的模式已经是项目开发的主流,它相比于传统的开发(例如jsp+servlet、asp+.net、thymeleaf等)可以使开发者可以更专注自己的业务,这里先不讨论性能的问题,传统开发前后端往往耦合较大,开发过程前后端相互牵制,或者说后端几乎把前端的事情都做了,这种开发模式持续了很长时间,直到有一天ajax的出现,才打破了这种开发模式。使用前后端分离开发模式可以使前后端的开发同时进行,使开发者更专注自己的业务——前端更专注用户界面和体验,后端更注重业务逻辑的实现和业务查询性能。当然,没有十全十美的事物,起初,前后端分离也是有缺点,在jsp+servlet开发的时代,后端可以轻易的操作会话,意味着后端对前端的把控更足,但是在前后端分离的开发模式中,功能都是一个个的接口,使用接口都是通过http请求来完成的,前端请求后端接口是在一个黑盒的环境下,二者谁也不知到谁,这就给第三者或者恶意用户有机可乘, 循环调用接口,恶意增加删除数据,特别是用户相关的信息,都是公司最重要的数据。前后端分离后端如果没有一个很好的安全手段来防止这种危险是不行的。暴露出来了问题就要解决问题,随后,shiro、spring security,OAuth等一系列安全框架规范应运而生,至此前后端分离的开发模式才真正的趋于完善。