先后端协做--服务器渲染与先后端分离

先后端合做分为两种方式:1.服务器渲染  2.先后端分离html

1.服务器渲染(SSR)前端

   客户端请求,服务端的servlet或controller接收请求,后端控制路由与渲染页面,调用service,dao代码完成业务逻辑,返回jsp,jsp展示页面。小程序

 

tips: 后端

       servlet是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种看成单独文件跟网页一块儿发送的小程序,它一般用于在客户端运行,结果获得为用户进行运算或者根据用户互做用定位图形等服务。(来自百度百科)浏览器

       controller 就是MVC里的控制器。服务器

       dao 是后端的数据访问层。app

2.先后端分离前后端分离

  浏览器发送请求,直接到达html页面,页面负责调用服务器端口产生数据,填充html,在页面上进行解析操做DOM异步

 

二者的区别:jsp

传输量:

    服务器渲染传输数据较多,并且不少重复数据。

    先后端分离传输数据量少

传输数据:

    服务器渲染返回的是HTML

    先后端分离返回的是JSON格式的数据

控制:

    服务器渲染由后端来决定大多数

    先后端分离 跳转的页面,由前端来决定

SEO:

    服务器渲染支持SEO

    先后端分离不支持SEO,由于首屏渲染出的html里是空数据

用户体验:

   服务器渲染 返回的是包含数据和HTML的页面,首屏加载快

   先后端分离 有渲染数据的过程,首屏渲染加载时间较长,单页面应用(SPA),用户体验更好

对于开发者: 

   服务器渲染 后台压力较大,出现bug会存在踢皮球的现象,服务器端压力较大。

   先后端分离 前端和后台各司其职,出现bug快速定位谁的缘由,较少服务器端压力,页面出现大量数据前端能够异步加载。提升开发效率。前端代码,能够复用,组件化。提高开发效率。

相关文章
相关标签/搜索