前后端分离与不分离

9420i 9420i     2023-02-22     546

关键词:

 

为什么要做前后端分离?

    前端后端有两种协作方式,一种可以称之为是服务器端渲染,一种是叫做前后端分离。

这两种方式的差别是什么呢?

第一种方式是服务器端渲染的方式,是指在服务器端就将网页直接生成,浏览器这里拿到的是一整个网页,CSSJS的部分是在浏览器端执行的,而网页的内容部分,也就是数据,是由服务器端生成的。这叫做服务器端渲染。至于你是用NodeJS,还是用PHP,还是Python,还是Java,还是NodeJS+Java,都不重要。这是我一直都觉得,很多概念在混淆的原因,很多人都觉得说到前后端分离,就是JSJava的分离,只要我用了JSJava提供API,就是前后端分离了。是这样么?不是的。只要你的Html网页的内容是在服务器端生成的,这就是服务器端渲染的方式。你用Openresty+lua没问题。只要你的网页是在浏览器端,内容是通过接口从后端拿到的纯数据,这就是前后端分离。

第二种方式就是,前后端分离的方式,也是刚刚说到的。浏览器端先拿到Html,然后和后端通过Ajax接口获取,或者是通过其他接口获取,无所谓。所以两种方式的区别关键,就在于是,Html是在哪儿生成的,浏览器和服务端传递的是什么。在前后端分离的方式,浏览器和服务端传递的是数据,而在服务器端渲染的过程中,传递的是Html网页。

弄清楚这两点的差别,再来看两种方式的好坏。

1 .数据量:前后端分离中传递数据,所以传输量会小。服务器端渲染,会传输更大的数据,而且,会有很多内容是重复的。

2 .体验:前后端多了一个渲染数据的过程,服务器端省去了这个过程。这也是一直被提到的首屏渲染的问题。

3 .解耦:前后端分离中,传输的是数据,Model,数据怎么展示,全部交给前端来处理,后端只负责提供数据。服务器端渲染中,传输的是Html,后端传给前端的Model,通常是通过Hidden的Input来处理,或者是直接用模板技术生成(JSP,Velocity,freemak)等。数据和展现并未分离,在过去,这被称之为套页面。

4 .控制:网页之间有各种跳转交互,在前后端分离中,跳转的页面控制,全部是由前端来决定。跟后端完全没有关系。在服务器端渲染的方式中,大部分是由后端来决定,少部分是由前端来决定。

5. SEO:前后端分离的方式,通常的载体是SPA,所以拿到的是没有数据的空壳子,很多搜索引擎,不支持SPA方式的SEO. 而服务器端渲染的方式,因为生成的是网页,所以对SEO支持的很好。 不要小巧这个环节,这是重多前台网站放弃使用前后端分离方式的重要原因。

  

好了,以上5点,足以让你对前后端分离和服务器渲染两种方式有一些直观的认知了。

再举个例子:盒马生鲜提供两种方式,一种是前后端分离,一种是服务器端渲染。前后端分离是哪种方式呢?就是外卖或者是直接买生鲜,自己回家去做。服务器端渲染是哪种方式呢?就是直接在盒马鲜生自己加工,直接吃,或者是带回家吃。这里的生鲜就是数据。做出来的食物就是Html网页。接着看在什么样的场景下,应该使用前后端分离,很简单。“不需要SEO的场景下,都应该使用前后端分离”。所以在后台管理中,没有任何理由不使用前后端分离,代指SPA。而在前台页面中,要认真考虑,不支持SEO的代价,不止几百万。前后需要用户登录的页面,往往是不需要有SEO的,这里也可以拆解出来。

前后端分离与不分离

前后端不分离   在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。    这种应用模式比较适合纯网... 查看详情

浅谈前后端分离与不分离

前后端的分离与不分离  随着不同终端的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本,为了提升开发效率,前后端分离的需求越来越... 查看详情

关于前后端分离与不分离

 什么是前后端分离?  在前后端分离的应用模式中,后端只需要返回前端所需的数据,不用渲染HTML页面与效果。页面的展示与效果所需的数据,数据的加载方式,主要由前端决定。  核心思想是前端html页面通过ajax调用... 查看详情

//……关于前后端分离与不分离

什么是前后端分离?  在前后端分离的应用模式中,后端只需要返回前端所需的数据,不用渲染HTML页面与效果。页面的展示与效果所需的数据,数据的加载方式,主要由前端决定。  核心思想是前端html页面通过ajax调用后端... 查看详情

前后端分离与不分离

 前后端不分离    在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。     这种应用... 查看详情

前后端分离与不分离

 为什么要做前后端分离?  前端后端有两种协作方式,一种可以称之为是服务器端渲染,一种是叫做前后端分离。这两种方式的差别是什么呢?第一种方式是服务器端渲染的方式,是指在服务器端就将网页直接生成,... 查看详情

怪咖------前后端分离与不分离的区别------

   前后端分离,首先所有的程序以数据为基础的,没有数据的程序没有实际意义,程序的本质就是对程序的增删改查,其实前后端分离就是把数据操作和显示分离出来。前端专注做数据显示,通过文字,图片或者图标等方... 查看详情

关于前后端分离与不分离

...要负责程序设计架构思想,管理数据库等。   前后端分离和微服务一样,渐渐地影响了新的大型系统的架构。微服务和前后端分离要解决是类似的问题,解耦——可以解耦复杂的业务逻辑,解耦架构。可要是说相像吧... 查看详情

springboot项目一般选择前后端分离好还是整合freemarker?

springboot项目一般选择前后端分离好?还是整合freemarker?现在项目采用哪种模式多一些啊?并没有好与不好,只有合适与不合适;你要看你的项目的应用场景,开展的具体业务类型;是小型项目,还是一定规模的项目,是你自己... 查看详情

前后端分离实践

前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化Web设计转向前后端分离的架构时,仍然不可避免的会遇到各种各样的问题。由于层出不穷的问题,甚至会有团队质疑,一体化好好的,为... 查看详情

前后端分离浅析

什么是前后端分离?前后端为什么要分离?前后端怎么样分离的?前后端分离给我们前端技术人员的开发带来什么样的好处?下面我就带着这些问题,来简单谈谈我了解到的前后端分离情况。 在讲前后端分离之前,让我们先... 查看详情

前后端分离的好处有哪些?

前后端分离是什么?前后端分离的好处都有哪些?如果两者不分离,会带来什么麻烦事?针对网友关注度非常高的话题,我们今天来大家一一解答。一、什么是前后端分离?前后端分离实质上是前后端代码分离,一般后端人员主... 查看详情

前后端分离框架

...ps://www.cnblogs.com/shanrengo/p/6397734.html前言:分离模式  对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中。该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多... 查看详情

前后端分离

一、什么是前后端分离?最开始租内讨论的过程中我们发现。每个人对前后端分离的理解不一样。为了保证能在同一个频道讨论,先就什么是"前后端分离"达成一致大家一致认同的前后端分离的例子就是SPA,所有用到的展现的数据... 查看详情

前后端混合开发模式和前后端分离开发模式

前后端混合开发模式和前后端分离开发模式一、前后端混合开发模式二、前后端分离开发模式 查看详情

django前后端不分离&前后端分离&模板引擎(代码片段)

一、前后端不分离与前后端分离的比较前后端不分离特点:后端需控制数据的展示前后端不分家,耦合严重返回的是HTML页面,适应性、拓展性差只能用于浏览器,其它终端不匹配前后端分离的特点:当前主流后端只对数据进行... 查看详情

什么是前后端分离与前后端不分离

  我起初认为前后端分离是,在软件开发过程中前后端分工就叫做前后端分离,其实是前端所有用到的数据都是后端通过异步接口的方式提供的,前端只管页面的展示及效果。   前端和后端不分离的时候,前端的页面也... 查看详情

vue发布中的前后端分离和前后端不分离

前后端分离思路:前端和后台完全分离.前端提供静态的css和js,在运行时将css和js给后端,后端进行数据的请求(ajax)前后端分离就是前端和后台在不同的服务器上。基本是前端一个nginx加css和js后端nginx加index.html当用户访问的时候... 查看详情