SPA单页面应用和SSR服务端渲染
内容摘自http://t.csdn.cn/1afu3
和http://t.csdn.cn/3eSES
基本概念
什么是单页面应用(SPA)
- 概念:整个web项目只有一个页面,使用路由机制进行组件之间的切换;
- 优点:客户端渲染、数据传输量小、减少服务器端压力、交互/响应速度快、前后端完全分离;
- 缺点:首屏加载慢、对SEO不友好,不利于百度,360等搜索引擎收录快照
什么是服务端渲染(SSR)
- 概念:将组件或页面通过服务器端生成HTML字符串,再发送到浏览器端渲染;
- 优点:对于SEO友好、首屏加载速度快;
- 缺点:页面重复加载次数高、开发效率低、数据传输量大、服务器压力大;
SPA和SSR的适用场景
- SPA:对项目性能要求高、页面加载速度快、要求客户端渲染、对SEO要求低;
- SSR:对项目SEO要求高、首次打开响应速度快;
SPA与SSR比较
数据请求
由服务端请求首屏数据,而不是客户端请求首屏数据,这是“快”的一个主要原因。
服务端在内网进行请求,数据响应速度快。
客户端在不同网络环境进行数据请求,且外网http请求开销大,导致时间差。
HTML渲染
服务端渲染是先向后端服务器请求数据,然后生成完整首屏html返回给浏览器;
而客户端渲染是等js代码下载、加载、解析完成后再请求数据渲染,等待的过程页面是什么都没有的,就是用户看到的白屏。
传输数据
-
客户端渲染:传递JSON对象,由浏览器渲染视图
-
服务端渲染:传递完整HTML返回给浏览器渲染;