Web 前后端为什么需要分离?

Web 前后端为什么需要分离?,第1张

我理解的前端就是负责所有和用户交互有关的模块都可以视为前端,他就像餐馆里面的前台服务生直接和客户打交道的人。

后端就是负责处理用户的请求,进行数据的处理,用户几乎所有 *** 作都可以抽象为对数据的增删改查,就像餐馆里面的厨师接收服务生告诉他要炒哪些菜,厨师把菜处理好再给服务生(后端处理数据返回给前端表现层)服务生最后输出给客户。

但是目前由于很多情况下业务比较简单,比如说一个内容发布系统 CMS ,用户交互,请求查看文章和管理员新增文章都是很简单的业务逻辑,所以前后端都用 php 这门主要用于表现层的语言来实现,而本身在用 MVC 模式把用户交互部分( V 和 C )以及数据处理(主要是 M ),否则的话就得用 java 等非脚本语言来实现保证效率,甚至高并发环境下还要用到消息队列,缓存等等。

使用vue2服务端渲染的web站点,它的大概流程:
node服务器接受到客户端的请求
然后向其他服务器请求数据
把获取到的数据给vue渲染
把渲染后的东西返回给客户端

前端与后端最初的渲染方式是后端模板渲染,就是由后端使用模板引擎渲染好 html 后,返回给前端,前端再用 js 去 *** 作 dom 或者渲染其他动态的部分。这个过程大致分成以下几个步骤:
前端请求一个地址 url
后端接收到这个请求,然后根据请求信息,从数据库或者其他地方获取相应的数据
使用模板引擎(如 java > jsp、php > smarty)将这些数据渲染成 html
将 html 文本返回给前端
在这个过程中,前端的 html 代码需要嵌入到后端代码中(如 java、php),并且在很多情况下,前端源代码和后端源代码是在一个工程里的。
所以,不难看出,这种方式的有这样的几个不足:
前后端杂揉在一起,不方便本地开发、本地模拟调试,也不方便自动化测试
前端被约束在后端开发的模式中,不能充分使用前端的构建生态,开发效率低下
项目难以管理和维护,也可能会有前后端职责不清的问题
尽管如此,但因为这种方式是最早出现的方式,并且这种渲染方式有一个好处,就是前端能够快速呈现服务器端渲染好的页面,而不用等客户端渲染,这能够提供很好的用户体验与 SEO 友好,所以当下很多比较早的网站或者需要快速响应的展示性网站仍然是使用这种方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10297250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存