1.SPA与SSR的区别
Vue中单页应用程序 (Single-Page Application) vs 服务器端渲染(Server Side Rendering)
SPA单页应用程序 | SSR服务器端渲染 | |
---|---|---|
优势 | 1.页面内容在客户端渲染 2. 只关注View层,与后台耦合度低,前后端分离 3.减轻后台渲染画面的压力 |
1.更好的SEO,搜索引擎工具可以直接查看完全渲染的画面 2.更快的内容到达时间 (time-to-content),用户能更快的看到完整渲染的画面 |
劣势 | 1.首屏加载缓慢 2.SEO(搜索引擎优化)不友好 |
1.更多的服务器端负载 2.涉及构建设置和部署的更多要求,需要用Node.js渲染 3.开发条件有限制,一些生命周期将失效 4.一些常用的浏览器API无法使用 |
注:
服务器端渲染会先向后端请求数据,生成完整首屏HTML后返回给客户端
客户端渲染会等待JS下载,解析完之后再向服务器请求数据,等待过程中是什么也没有的,所以会出现首屏白页的情况。
由服务器端请求首屏数据而不是客户端请求首屏数据,服务器端在内网进行请求,速度更快。但是客户端处于不同的网络环境,在客户端渲染会导致时间差。
SSR最主要的使用场景是面向用户,无论是SEO优化还是提高首屏加载的速度,都是为了让它在网络上有更好的表现;但如果是要做一个企业级的内部管理系统或者一个管理后台,SPA就可以了。具体如何选择,主要还得看实际的需求。<