服务端渲染是通过后端模板引擎编译成html,css,js,然后回传给前端来进行显示;而前端渲染则是将整个生成逻辑代码全部回传前端,再由客户端生成用户界面。
为什么会有服务端渲染与客户端渲染
早期,我们每一个页面都是直接由html,css,js实现的,每一个页面彼此之间相当于是独立的,当我们的网站应用足够大的时候,每当我们需要修改网站的内容时,我们需要更改很多的代码,非常麻烦。
那么后来,我们聪明的程序员就想到了,使用代码生成代码,就是后端的模板引擎,人们开始广泛使用模板代替手写html,大大减少的前端的工作量。通过代码生成代码,其实就是编译,基于html等基础语言,做出了更高层次的抽象封装,增加了易用性。
后来h5,c3的崛起,再加上客户端硬件性能的提升,我们开始通过前端模板引擎,来在客户端渲染页面。
对待模板,angular,vue,react的态度都不一样。
前后端真正解耦,前端专注于UI视图,后台专注于数据处理,通过设计好的api交互,这是未来的趋势。
从 后端渲染 到 前端渲染 ,有什么变化
- 计算任务的变化
原来由后端执行的渲染任务,现在放在了前端来做,降低了多用户同时访问时服务端的压力,然后端专注做后端的事情,由于客户端硬件的发展,前端处理起来没有什么问题。
- 放弃前端权限
将整个页面逻辑,交给客户端以后,会出现劫持的情况,比如某些运营商劫持之后,投放广告。俗话说的好一切在前端谈安全都是耍流氓,后端不能轻信前端发来的数据,一切数据都需要过滤与验证,最好使用ssl,屏蔽XSS。
结语
总之一句话,后端渲染针对seo比较友好,前端渲染,可以减轻服务端的压力,提升服务器的性能,而且可以实现前后端分离!