美文网首页JavaScript
也谈服务端渲染(SSR)

也谈服务端渲染(SSR)

作者: CJ_景元 | 来源:发表于2018-02-26 16:12 被阅读1310次

这几天服务端渲染在知乎上热度又上来了,于是我又去翻看了一些相关资料。

服务端渲染是什么

我最开始接触是在Vue的官网上,开始是作为一个小节出现,现在已经是个专门的大章节来专门讲Vue服务端渲染的内容。

服务端渲染 简单来说就是在服务器上把数据和模板拼接好以后发送给客户端显示。

回顾下前端的历史,最开始的站点是简单的静态网站。后端大哥把.html文件推送给用户,用户浏览器解析这些字符串进行显示。那个时候就是 服务端渲染 。可是后来由于网站内容越来越复杂、特效越来越炫酷,这种‘兼职’状态已经不能满足需求,细分之下的前端出现了。

随后为了方便的开发,开始提倡 前后端分离,大家各做个的,彼此之间通过基于HTTP的各种API协作,变成了数据动态生成的新一代站点。

再后来出现了Vue等三大MV*框架,网站做成了SPA应用,解决了很多问题的同时也带来了新问题,其中最突出的两个:难以SEO首屏加载缓慢

服务端渲染解决了什么

难以SEO
SPA网站们不仅数据是动态生成的,连大部分DOM节点都是动态生成的,后台只提供一个基本模板,而内容需要等到各种JS文件在客户端下载运行完成以后才能显示。
而搜索引擎目前并不会去下载这些JS文件来爬数据(据说 Google 已经有了这项技术并在使用,百度也能这样做但没做),那么在搜索引擎改变策略前,总得想点办法。

时尚就是轮回,现在前端竟然也有这个现象...那么大神们想到了办法:那就让我们回到老路上吧。

得益于Node.js的出现,不需要后台做太多,把数据和模板在中间服务器上进行组装,再发送给客户端。这样的模式解决了问题又没有让大家倒退回去,大厂们冲锋在前,提出各种实践方案,这里有美团的大神发布的两篇文章:

美团点评点餐前后端分离实践——一个可能没用现成框架
美团点评点餐 Nuxt.js 实战——一个用了Nuxt.js框架

珠玉在前,我也说不了太深,有兴趣请看文章。

首屏加载缓慢
随着前端的发展,业务逻辑越来越复杂,代码也越来越厚,各种JS文件越来越大,当一个网页打开,所有东西都下载完页面能打开,白屏时间越来越长。

为了解决这个问题,代码模块化按需加载占位图预展示 纷纷开始应用,从不同的角度削减了问题程度。但是服务端渲染同样也是解决这个问题的角度之一,由于不少资源在中间服务器上进行拼接,节省了客户端的不少时间,效果也很不错。

服务端渲染有什么缺点

在解决问题的同时同样也有一些成本是必须要考虑的。

首先是 技术成本,中间增加了这些环节当然要多更多的时间或更多的人来完成,并且还有不少坑要踩。

然后很多计算从客户端移到服务器上,对服务器的压力增加,特别是高并发时会给服务器的 CPU 带来更大的负载。

结语

我个人觉得用不用、怎么用依然得看需求和取舍,技术是工具,主要还是看人。

相关文章

  • vue 服务端渲染简介和实践

    什么是 ssr ssr , Server Side Render的简称, 服务端渲染. 首先服务端渲染并不神秘, ...

  • 也谈服务端渲染(SSR)

    这几天服务端渲染在知乎上热度又上来了,于是我又去翻看了一些相关资料。 服务端渲染是什么 我最开始接触是在Vue的官...

  • vuessr

    vueSSR 什么是ssr 服务端渲染(ssr),相比客户端渲染,服务端返回的dom一般为 ,剩下的渲染过程都是...

  • nodejs学习笔记——服务端渲染简易尝试

    前言 服务端渲染也称作 SSR(Server Side Render) 。不同于客户端渲染,服务端渲染会在后端把页...

  • 07 Vue 服务端渲染 SSR

    07服务端渲染SSR 理解 SSR 传统 web 开发 传统 web 开发,网页内容在服务端渲染完成,一次性传输到...

  • 搭建Vue的SSR服务端渲染

    SSR是什么 SSR:Server Side Rendering服务端渲染,由服务器进行渲染并返回给客户端渲染完成...

  • 本期小结(二)

    vue★ vue-ssr服务端渲染简单例子 vue-ssr服务端渲染框架Nuxt.js vue2.0仿饿了么web...

  • SPA与SSR融合

    服务端渲染demo思路 SPA与SSR融合

  • 前端福音:Serverless 和 SSR 的天作之合

    什么是 SSR SSR 顾名思义就是 Server-Side Render, 即服务端渲染。原理很简单,就是服务端...

  • Next.js 初试

    title: next.js入门tag:next.js, react 序章 服务端渲染 服务端渲染(SSR: Se...

网友评论

    本文标题:也谈服务端渲染(SSR)

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