1.传统的web开发(MVC):客户端向服务端发送请求,服务端查询数据库,渲染数据到HTML模板,将完整的HTML 发送返回至客户端。
2.CSR: SPA单页面应用优秀的用户体验,逐渐成为了主流,页面整体式javaScript渲染出来的,称之为客户端渲染CSR;
SPA渲染过程,由客户端访问URL发送URL发送请求到服务端,返回HTML结构。客户端收到HTML结构,开始渲染HTML,执行JavaScript,渲染template,渲染完成后,再进行数据请求,获取数据,完成最终渲染。
SPA缺点:
1.首屏渲染时间比较长:必须等待JavaScript加载完毕,并且执行完毕,才能渲染出首屏。
2.SEO不友好:爬虫只能拿到一个div元素,认为页面是空的,不利于SEO。
为了解决如上两个问题,出现了SSR解决方案,后端渲染出首屏的DOM结构返回,前端拿到内容带上首屏,后续的页面操作,再用单页面路由和渲染,称之为服务端渲染(SSR)。
3.SSR渲染流程: 客户端发送URL请求到服务端,服务端读取对应的url的模板信息,在服务端做出html和数据的渲染,渲染完成之后返回html结构,客户端这时拿到的之后首屏页面的html结构。所以用户在浏览首屏的时候速度会很快,因为客户端不需要再次发送ajax请求
SSR是处于CSR与SPA应用之间的一个折中的方案,在渲染首屏的时候在服务端做出了渲染,注意仅仅是首屏,其他页面还是需要在客户端渲染的,在服务端接收到请求之后并且渲染出首屏页面,会携带着剩余的路由信息预留给客户端去渲染其他路由的页面。
end
好好享受人生嘛——余华