Frontend 当前前端的三种渲染方式

1. CSR (Client Side Rendering)

Rendering an app in a browser, generally using the DOM.

  • React(Angular / Vue)

在这里插入图片描述

前后端分离带来了CSR, 同时带来了各种问题。

  • SEO, CSR 首次加载的HTML 文档没有内容, 而目前多数Search Engine 主要识别的内容还是HTML,对JS文件内容识别比较弱。
  • JS代码量 & 首屏高性能。因为CSR的加载一般需要3个HTTP生命周期:加载HTML文档 --> 加载JS文件 -->API请求数据 -->根据数据渲染页面。
    也就是浏览器爬虫进来后得到的是空页面,无法index网站的页面。因此CSR不适合电商网站,而更适用于管理后台的网站。

2. SSR (Server Side Rendering)

Server rendering generates the full HTML for a page on the server in response to navigation.
1). JSP,PHP,在服务端生成完整的HTML页面。用户是可以在下载JS,运行JS, 绑定事件完成之前就能看到页面。
2). API 请求发生在服务端,理论上优于HTTP Call。

在这里插入图片描述

浏览器Call UI Server准备HTML,向API要数据,与此同时准备渲染页面返回给browser. 发现有.css和.js,再向Static Host要.css和js,然后由UI动态生成页面返回给Browser.
提升的表现是FCP (First Contentful Page)= FMP (First Meaningful Page).
TTI (Time to Intertact)远优于CSR,并解决SEO问题。
单纯的从技术角度出发,SSR带来的首屏渲染提升是巨大的,因为SSR的加载一般只需要一个声明周期,但是整体上的提升并没有发生质的改变。
芮苒API的内部调用性能优于HTTP请求,但是这个请求一样是存在的。与此同时,我们增加了UI Server处理渲染逻辑。考虑UI Server 服务量增大的时候,performance 是否由于CSR?

3. SSG(Static Site Generators)

静态渲染的页面显然是缓存的究极形态。我们将生成HTML页面的工作放到编译时,而不是再请求时动态完成。为每个URL预先单独成HTML文件。

在这里插入图片描述
通过代码把数据库的数据结合,打包的时候,就已拿到数据。再CI上把HTML编译好,放到S3服务器。也就是是只要从S3拿到HTML,就已经是完整的页面。

总结:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值