前言

服务端渲染的概念这几年能够说是炒得炽热,它不是一种新型的技术,而是互联网最开始时所应用的加载技术。

那么到底是什么起因,使得人们违心拭去历史的尘埃,让服务端渲染这一古老的概念从新绽开光辉呢?

什么是服务端渲染?

服务端渲染简称 SSR,全称是 Server Side Render,是指一种传统的渲染形式,就是在浏览器申请页面URL的时候,服务端将咱们须要的HTML文本组装好,并返回给浏览器,这个HTML文本被浏览器解析之后,不须要通过 JavaScript 脚本的执行,即可间接构建出心愿的 DOM 树并展现到页面中。

SSR 有两种模式,单页面和非单页面模式,第一种是后端首次渲染的单页面利用,第二种是齐全应用后端路由的后端模版渲染模式。他们区别在于应用后端路由的水平。

与之绝对的是 CSR(Client Side Render),是一种目前风行的渲染形式,它依赖的是运行在客户端的JS,用户首次发送申请只能失去小局部的指引性HTML代码。第二次申请将会申请更多蕴含HTML字符串的JS文件。

为什么须要 SSR ?

目前前端风行的框架大都是实用于构建 SPA(单页面应用程序),在SPA这个模型中,是通过动静地重写页面的局部与用户交互,而防止了过多的数据交换,响应速度天然绝对更高。

然而,SPA利用的首屏关上速度个别都很慢,因为用户首次加载须要先下载SPA框架及应用程序的代码,而后再渲染页面,并且 SPA 利用不利于 SEO 优化。

这时候,人们想着是不是能够将利用首页先加载进去,而后让首页用不到的其余 JS 文件再缓缓加载。然而因为 JS 引擎是单线程的,数据的组装过程会受到阻塞,单靠浏览器端的话不容易实现。

SSR 从新焕发生机的契机就在于此,如果将组装数据、渲染 HTML 页面的过程放在服务端,而浏览器端只负责显示接管到的 HTML 文件,那首屏的关上速度无疑会快很多。

SSR 的优缺点

那么,SSR 技术到底有哪些长处呢?咱们来列举一下:

  1. 更快的响应工夫,绝对于客户端渲染,服务端渲染在浏览器申请URL之后曾经失去了一个带有数据的HTML文本,浏览器只须要解析HTML,间接构建DOM树就能够。
  2. 有利于 SEO ,能够将 SEO 的要害信息间接在后盾就渲染成 HTML,而保障搜索引擎的爬虫都能爬取到要害数据,而后在他人应用搜索引擎搜寻相干的内容时,你的网页排行能靠得更前,这样你的流量就有越高。

以上是 SSR 技术最次要的两大长处,虽有劣势,但毛病也不容忽视:

  1. 绝对于仅仅须要提供动态文件的服务器,SSR中应用的渲染程序天然会占用更多的CPU和内存资源。
  2. 一些罕用的浏览器API可能无奈失常应用,比方windowdocmentalert等,如果应用的话须要对运行的环境加以判断。
  3. 开发调试会有一些麻烦,因为波及了浏览器及服务器,对于SPA的一些组件的生命周期的治理会变得复杂。
  4. 可能会因为某些因素导致服务器端渲染的后果与浏览器端的后果不统一。

总结

以上就是对 SSR 技术的一些简要介绍,总结一下就是:

  • SSR 进步 SPA 利用的首屏响应速度,有利于 SEO 优化。
  • SSR 最实用于动态展现页面,如果页面动态数据较多时须要审慎应用。
  • 是否应用 SSR、应用到什么水平都须要开发者认真衡量。

~

~本文完,感激浏览!

~

学习乏味的常识,结识乏味的敌人,塑造乏味的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢送关注,心愿大家多多指教!

你来,怀揣冀望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

常识与技能并重,内力和外功兼修,实践和实际两手都要抓、两手都要硬!