前后端分离构架特点

前后端分离是什么?为什么要前后端分离?

就是把数据和页面分离开,后端不提供页面,只是纯粹的通过 Web API 来提供数据和业务交互能力,Web 前端就是纯粹的客户端角色,与 WinForm、移动终端应用属于同样的角色,可以把它们合在一起,统称为前端,分离开了后,后端不再考虑页面如何美化,前段也不需要了解后端采用的是什么样的技术实现方案,使得前后端的开发人员能够更加专注于自身业务的开发。

前后端分离图解

微信图片_20180131095952.jpg

以前的一体式 Web 架构示意


微信图片_20180131100003.jpg

现在的前后端分离构架示意图

前后端分离主要技术切入点(重要)

前后端分离后,会出现以前web一体式构架中没有出现过得问题,比如认证,会话机制,签名验证等,
既然是做对外的api接口,当然安全问题是我们需要认真考虑的问题了,那么webapi会存在那些安全隐患呢?

  • 请求来源(身份)是否合法?
  • 请求参数被篡改?
  • 请求的唯一性(不可复制),防止请求被恶意攻击

处理这些安全隐患可以采用token+signature认证的方式;原理是:(1)做一个认证服务,提供一个认证的webapi,用户先访问它获取对应的token;(2)用户拿着相应的token以及请求的参数和服务器端提供的签名算法计算出签名后再去访问指定的api;(3)服务器端每次接收到请求就获取对应用户的token和请求参数,服务器端再次计算签名和客户端签名做对比,如果验证通过则正常访问相应的api,验证失败则返回具体的失败信息

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化 Web 设计转向前后端分离的架构...
    边城狂人阅读 4,149评论 0 15
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 这个好玩....精神科医生朋友发来的 脑力测试小游戏 (点击进入) 自测评分标准参考: 10-19秒完成~~你是...
    Stephen潇雨阅读 5,238评论 0 1
  • 作为80后的独生子女,不管家庭背景怎样,我们都是备受宠爱的一代,捧在手心怕摔了,含在嘴里怕化了,饭来张口...
    叮叮2015阅读 4,827评论 0 0