作为前端开发的话,大多数情况下基本使用CSR来进行页面渲染,但是一定必不可免的会了解到服务端渲染(SSR)。为了更好的了解到二者之间的区别我们要抛出一个老生常谈的面试点,浏览器输入一个url地址到页面显示,这个过程经历了什么?

客户端渲染(client-side rendering)

从图中的内容可以很清晰的总结客户端渲染的流程如下 :
1、用户输入地址,客户端向服务器发送请求
2、服务器将页面的相关代码原封不动的传递给浏览器
3、浏览器解析文件
4、遇到ajax请求则向服务器再次请求一些数据
5、服务器再次向浏览器发送相应的数据
6、浏览器拿到ajax请求返回的数据后,将数据渲染在页面上

那么在这个过程中就不可避免的多使用至少一次的请求给后台,所以在浏览器的首屏加载页面的速度的话会有些延迟,对用户的感受就显得稍微不友好了。因此就会有了服务端渲染(SSR)选择的出现了。

服务端渲染(server-side rendering)

从图中的内容可以很清晰的总结服务端渲染的流程如下:
1、客户端向服务器发送一次请求
2、服务器接收请求,将页面所需的数据进行统一处理
3、当页面结构和数据处理并渲染完毕后,发送给客户端
4、客户端接收服务器发送过来的网页文件,不需要做任何操作,直接呈现

那么这个过程中相比较于客户端渲染,至少就减少了一次请求,渲染页面的速度也就相应的加快了。


两种渲染的优缺点我总结如下:

客户端渲染(CSR):

优点:

1、前后端分离,开发效率高。

2、用户体验更好,我们将网站做成SPA(单页面应用)或者部分内容做成SPA,当用户点击时,不会形成频繁的跳转。

缺点:

1、前端响应速度慢,特别是首屏,可能会导致用户流失甚至举报扣工资。

2、不利于SEO优化,因为客户端渲染页面的代码中只有一个空代码,爬虫无法拾取关键词。

服务端渲染(SSR)

优点:

1、尽量不占用前端的资源,前端这块耗时少,速度快。

2、有利于SEO优化,因为在后端有完整的html页面,所以爬虫更容易爬取信息。

缺点:

1、不利于前后端分离,主要工作在后端哪里,前端显得没啥总用了,开发效率慢。

2、前端首屏响应速度变快,但是加大了服务器的压力。


二者之间的选择:

如果是企业级网站,主要功能是页面展示,它没有复杂的交互,并且需要良好的SEO,那我们应该使用服务端渲染

如果是后台管理页面,交互性很强,它不需要考虑到SEO,那我们应该使用客户端渲染

具体使用哪种渲染方式也不是绝对的,现在很多网站使用服务端渲染和客户端渲染结合的方式:首屏使用服务端渲染,其他页面使用客户端渲染。这样可以保证首屏的加载速度,也完成了前后端分离。

一图让你快速弄懂客户端渲染(CSR)与服务端渲染(SSR)相关推荐

  1. 客户端渲染(CSR)和服务端渲染(SSR)差别

    文章目录 客户端渲染 服务端渲染 两者区别 客户端渲染 当用户发送请求返回页面,此时页面只是一个模板页面,浏览器解析页面的代码是通过js读取时,根据我们所写的接口去请求数据,得到返回的数据使用页面的模 ...

  2. 【SSR和CSR】服务端渲染和客户端渲染区别?如何快速分辨页面是SSR还是CSR?

    首先,介绍一下 SPA.SEO.SSR 三者的区别 SPA(single page application)单页面应用,是前后端分离时提出的一种解决方案. 优点:页面之间切换快:减少了服务器压力: 缺 ...

  3. 如何快速判断页面是服务端渲染还是客户端渲染

    什么是服务器端渲染和客户端渲染? 互联网早期,用户使用浏览器浏览的都是一些没有复杂逻辑的.简单的页面,这些页面都是在后端将html拼接好的然后将之返回给前端完整的html文件,浏览器拿到这个html文 ...

  4. SSR 学习 - 传统服务端渲染 Web 应用、客户端渲染、同构渲染、优缺点和案例演示

    概述 随着前端技术栈和工具链的迭代成熟,前端工程化.模块化也已成为了当下的主流技术方案. 在这波前端技术浪潮中,涌现了诸如 React.Vue.Angular 等基于客户端渲染的前端框架. 这类框架所 ...

  5. 服务端渲染SSR与客户端渲染

    文章目录 一.服务端渲染和客户端渲染的区别 服务端渲染(SSR -- server side render) 客户端渲染 二.使用服务端渲染(SSR)的利弊 优势 局限 三.实际应用 应用原则 举例 ...

  6. 客户端渲染和服务端渲染

    参考链接:客户端渲染和服务端渲染的区别https://blog.csdn.net/qq_40885461/article/details/88539989 浅谈服务端渲染(SSR)https://ww ...

  7. 快速弄懂陌生领域是一项“赚钱”的能力

    大家好,我是Z哥. 有时候,我们被动的需要去了解一个新行业或者领域.比如,工作需要.投资需要等等. 在这个时候,你能不能快速弄懂一个行业的80%,成为一个内行就很关键了.毕竟时机可是很重要的. 比如, ...

  8. python 服务端渲染_客户端渲染和服务器渲染的区别

    我们都知道,网页上的很多内容之所以能那么丰富,是因为大量的css.js去渲染出这个页面.那么他们是如何渲染的呢?那么就要说到我们本文的两种渲染方式了,即客户端渲染和服务端渲染. 正文 本文将分别讲述两 ...

  9. 服务端渲染与客户端渲染详解(vue)

    1.客户端请求 (1)用户在浏览器输入请求的地址例如:172.0.0.1:8080 到服务器 服务器接受到客户端的请求拿到一个没有被数据渲染的空页面 (2)客户端拿到服务端的空字符串页面,然后从上往下 ...

最新文章

  1. 源码资本深耕“三横九纵”科技助力网聚优秀企业
  2. 探究位置误差对单目3D目标检测影响
  3. 大连理工大学 计算机复试分数线,2020大连理工大学考研复试分数线已公布
  4. [分享]极富挑战性的大公司面试的智力题
  5. mysql 与紫金桥_基于紫金桥组态软件与mysql数据库的连接简介
  6. 使用maven整合SSM框架详细步骤
  7. 逆向工程核心原理读书笔记-代码注入
  8. Vue多字段下的非空判断(new Promise)
  9. 以软件推动工业进步 -嵌入式学习网站
  10. python发送邮箱_你知道怎么用Python发送邮件吗?
  11. JEECG V3版本组合查询实现方法
  12. 《javascript高级程序设计》读书笔记——作用域
  13. Java使用BufferedImage修改图片内容
  14. jquerymobile多页面切换
  15. 【数据分析】基于matlab GUI学生成绩查询系统【含Matlab源码 604期】
  16. badboy html5,html5_ol.htm
  17. 最简单的三极管音频放大电路
  18. 小学计算机小蘑菇教案,幼儿园中班小蘑菇教案.doc
  19. linux俄罗斯方块游戏
  20. mysql 存储数据类型的选择

热门文章

  1. 腾讯沙盒游戏计算机,最好玩的五款沙盒游戏 腾讯新作上榜
  2. 2022-08-21 星环科技-C++开发笔试
  3. 按键精灵---插件之后台发送字符串
  4. java手机杀毒_Android项目实战手机安全卫士(01)
  5. 猪八戒是个好员工——张教授
  6. java和大行自行车哪个好_大行自行车P8和D8哪个好?
  7. 拉涨停板洗盘的分时图
  8. FastDFS分布式文件系统集群安装与配置
  9. python读取mat文件格式_Python读取mat文件,并保存为pickle格式的方法
  10. 在html中如何做个人微博,学习记录:爬取个人微博