什么是SSR以及什么时候应该使用它

722 阅读2分钟

什么是服务器端渲染(SSR)?

当使用单页应用(SPA)创建动态网页时,服务器将整个Web应用的javascript文件发送到客户端,然后浏览器将向服务器发出api调用,从服务器上获取内容并渲染我们的页面。 使用单服务器渲染(SSR),页面在服务器上被渲染,浏览器将收到一个准备显示的HTML页面。
Server Side Rendering Steps

好的,那么为什么这样做更好呢?

使用SSR的好处可以归结为更好的用户体验(UX)和更好的SEO

改善用户体验。有了SSR,你可以获得更快的内容到达时间,现在我们不需要等待下载所有的JS文件,然后执行它们,网速较慢的用户可以更快地看到网页内容。 另一个好处是,最初加载的数据也是在服务器上加载的,这可能是一个比大多数客户端连接更快的数据库连接。
这些好处往往会导致更好的Web Vitals
,这使我想到SSR的下一个错误好处。

更好的搜索引擎优化。因为我们正在加载一个完全渲染的页面,搜索引擎的爬虫将看到完全渲染的页面。

使用SSR一定会有一些权衡?

是的,有一些权衡,应该考虑到这些权衡。

开发限制。这是一个很大的问题,可能需要一个单独的帖子来讨论更多的细节,但一般的想法是,由于我们在服务器上渲染页面,任何浏览器特定的代码都需要在正确的生命周期钩中调用。

服务器端的负载。现在服务器上有更多的负载,当涉及到规模时,这确实需要被考虑在内。

构建设置和部署的工作量更大。我们现在需要一个Node.js环境来构建和部署我们的应用。

那么我应该在什么时候使用SSR呢?

如果内容到达时间和更好的SEO对你的网络应用很重要,而且你有大量的动态内容,那么SSR可以帮助你改善你的网络应用,甚至可以帮助提高转换率。