服务端渲染(SSR)的作用

什么是服务端渲染?

目前大部分的页面都是客户端渲染,即客户端请求到 html 和 JavaScript 文件,等待 JavaScript 文件执行后(插入 DOM 节点、请求数据),得到真正最后的页面。

而 SSR 则是将这个过程放到了服务器端,页面会在服务器计算,将最后包含数据的 html 代码返回。

SSR 的渲染过程如下图:

下面说说使用 SSR 的利弊:

✅ SSR

1、利于 SEO

目前很多网站都采用了 SPA 的形式,页面中的大多数 DOM 节点都是通过客户端运行 JavaScript 动态生成的。因此,网络爬虫能够直接爬取到的信息比较少, SPA 不利于 SEO 的。

而使用服务端可以很好地解决这个问题,SSR 返回给客户端的是已经包含了数据并执行了 JavaScript 的 HTML 代码,这有利于爬虫的对页面信息进行提取。

2、利于首屏渲染

白屏产生的很大一部分原因一般有这几个:

  • 网络慢
  • 所需要加载的包很大
  • JavaScript 运行时间长

使用 SSR,客户端就并不需要依赖 JavaScript ,用户可以更快的看到内容。

❎ SSR

1、服务器压力大

SSR 占用的是服务器资源,如果访问量增加,服务器的压力也会变大

2、开发受限

Server 端的渲染过程是一个同步的操作,其本质是将 JSX 组件渲染为 HTML 字符串。

setStatehooks 这类对组件异步更新状态的方法,以及组件的 生命周期 方法,在 Server 端不会被执行。开发过程中,应尽量避免将用于渲染初始页面的状态,通过异步的方式来更新。

3、部署也会更加的复杂

邹明远 wechat
欢迎关注我的公众号「嗜码」
请我喝杯快乐水