美文网首页
SSR 技术概述

SSR 技术概述

作者: 隐逸王 | 来源:发表于2021-08-30 20:32 被阅读0次
image

前言

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

那么到底是什么原因,使得人们愿意拭去历史的尘埃,让服务端渲染这一古老的概念重新绽放光芒呢?

什么是服务端渲染?

服务端渲染简称 SSR,全称是 Server Side Render,是指一种传统的渲染方式,就是在浏览器请求页面URL的时候,服务端将我们需要的HTML文本组装好,并返回给浏览器,这个HTML文本被浏览器解析之后,不需要经过 JavaScript 脚本的执行,即可直接构建出希望的 DOM 树并展示到页面中。

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

image

与之相对的是 CSR(Client Side Render),是一种目前流行的渲染方式,它依赖的是运行在客户端的JS,用户首次发送请求只能得到小部分的指引性HTML代码。第二次请求将会请求更多包含HTML字符串的JS文件。

image

为什么需要 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、使用到什么程度都需要开发者仔细权衡。

~

~本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

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

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

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

相关文章

  • SSR 技术概述

    前言 服务端渲染的概念这几年可以说是炒得火热,它不是一种新型的技术,而是互联网最开始时所使用的加载技术。 那么到底...

  • SSR协议检测技术

    既然SSR的项目已经消亡,那么现在对于SSR的检测手段也没有什么保留意义了,那么就把个人对DPI进行SSR检测技术...

  • 蓝牙核心技术

    蓝牙核心技术概述(一):蓝牙概述蓝牙核心技术概述(二):蓝牙使用场景蓝牙核心技术概述(三): 蓝牙协议规范(射频、...

  • Linux 配置代理

    软件要求 SSR Proxychains4 准备工作 SSR 获取ssr脚本 赋予ssr脚本可执行权限 将ssr放...

  • VUE SSR

    VUE SSR 官方文档: Vue SSR 指南 一、什么是SSR, 为什么要做SSR 什么是SSRVue.js ...

  • 详解Vue SSR服务端渲染

    Vue SSR介绍[https://ssr.vuejs.org/zh/] SSR Github Demo[http...

  • 使用 Vue SSR 渲染一个 Vue 实例

    Vue SSR 介绍 官方文档:https://ssr.vuejs.org/[https://ssr.vuejs....

  • 搭建React服务端渲染项目知识梳理及总结

    本项目github地址 react-koa2-ssr 所用到技术栈 react16.x + react-route...

  • 服务器渲染(SSR)

    概述 服务器渲染 (Server Side Render) SSR是什么?简单理解就是,服务器返回浏览器的是一个包...

  • Docker 入门全解(更新 ing)

    1.2 容器技术概述 聊聊容器技术

网友评论

      本文标题:SSR 技术概述

      本文链接:https://www.haomeiwen.com/subject/uaioiltx.html