纯后端渲染
纯后端渲染是指:浏览器向服务器发送请求后,服务器把各个数据等拼接为dom树,并将整个dom树返回给客户端,由前端进行的操作很少,只需浏览器解析即可。
优点:返回的HTTP Response是包含着全部页面内容的,相对来说页面的主体DOM结构都会在这个响应中返回,可以让用户更快的看到页面的主体部分,而这样的响应对于浏览器爬虫来说也更有好,对SEO更有帮助。
缺点:对于需要做交互的页面来说,开发很难实现。
纯前端渲染
服务端首次仅返回一个框架,由前端进行节点等的渲染。前端再通过api请求数据,将数据结合dom形成新的dom树进行渲染。
在此过程中,服务端仅仅充当返回数据的作用。
优点:很好的分离了展示层和数据层,在如今流行的Vue.js等框架中实现
缺点:第一屏的加载,依赖了太多的js处理和一到多个数据请求,会延迟加载时间,体检不好。可以通过设置缓存时间max-age,或通过manifest保存静态资源的方式,进行优化。但都只能加快第二次之后的首屏加载时间,对首次加载无效
服务器的js渲染+前端渲染
其实这种机制结合了前两种机制。分为两个阶段,第一个阶段是服务器首先对第一屏进行加载并返回给客户端,后面再通过前端的api请求数据,重新渲染DOM。
优点:解决了首屏用户体验问题,展示层和数据层的分离
缺点:增加了开发和部署的复杂度