vue 先后端分离的原理

一: 原始人时代css

1,定需求
2,敲代码
3,测试
4,发布,须要用eclipse把代码打成一个war包,而后把这个war包发布到生产环境下的web容器里。这时候先后端代码都在这个war包里,html,js,css,各类第三方库等。这样服务器压力会很大,页面中的全部请求都要经过这个服务器,若是同时不少人访问这个网站速度就会很慢。一旦服务器出现情况,先后端一块儿玩完,用户体验级差。。html


二: 新的方式前端

1,浏览器发送请求
2,直接到达html页面(前端控制路由和渲染页面,整个项目开发的权重前移)
3,html页面负责调用服务器端接口产生数据(经过ajax等等,后台返回json数据)
4,填充html,展示动态效果,在页面上进行解析并操做nginx


三: 先后端分离的优点web

1,能够实现正真的先后端解耦,前端服务器放 css,js,图片等一系列资源,前端服务器负责控制页面引用,跳转,路由。前端页面异步调用后端的接口。加快总体响应速度。ajax

2,发现bug,能够快速定位是谁的问题,页面逻辑,跳转错误,浏览器兼容问题,脚本错误,页面样式等问题由前端解决。接口数据出错,数据没有提交成功,响应超时等由后台负责。双方互不干扰。json

3,减小后端服务器的开发/负载压力。除了接口外的http请求所有转到 前端nginx上。后端

5,即便后端服务器暂停超时或者宕机了,前端页面也会正常访问。只不过数据刷不出来而已。浏览器

6,增长代码的维护性,易读性。服务器

7,前端大量的组件化代码 能够抽出来复用,组件化开发提高效率。


四: 注意事项

1,再开需求会议的时候,先后端都须要参加,而且制定好接口文档。

2,加剧了前端的工做量,减轻了后端的工做量。提升了性能和可扩展性。

3,若是你的项目很小,并且是一个内网项目,不用任何架构而言。

4,前端须要有机制应对后端请求超时以及宕机的状况,有好的展现给客户。


五: 总结

千万不要觉得只有敲代码的时候把前端和后端分开就是先后端分离了,须要区分先后端项目。

前端与后端是两个项目。放在两个不一样的服务器,须要独立部署。

两个不一样的工程,两个不一样的代码库,不一样的开发人员。

先后端须要约定交互接口,实现并行开发,开发结束后须要进行独立部署。

相关文章
相关标签/搜索