适用范围:
1. 优点:
- 更快的首屏加载速度
- 降低对客户端的性能要求
- 更好的 SEO:搜索引擎爬虫可以直接看到完全渲染的页面。
- 更好隐藏服务端接口
- 很多服务端接口只需要在服务端渲染的时候进行调用,页面交互用不到,这样就可以不对外暴露这部分接口
2. 缺点:
- 更高的服务端负载
- 渲染环境可用api的限制。
- 因为渲染是在服务端完成的,所以浏览器就不能提供渲染时所用到的api,需要服务端(如nodejs)提供
梗概:
- SSR是指在服务器端将网页内容渲染为完整的HTML、CSS和JavaScript代码,然后发送给客户端浏览器。
- 客户端每请求一次网页, 服务器就返回一个对应的网页
- 服务器接收到用户的请求后,根据请求的URL和其他可能的参数,动态决定需要渲染哪个页面。
- 因次用户要求渲染出来的网页是不可预测的,需要等待用户请求才能进行对应的渲染
- 服务器接收到用户的请求后,根据请求的URL和其他可能的参数,动态决定需要渲染哪个页面。
- 客户端每请求一次网页, 服务器就返回一个对应的网页
使用指南
- child::SSR框架
实例
- 一个web app有多个界面
- 每个界面都对应一个网页
- 对应一套CSS、JavaScript、HTML
- 用户切换到其中一个界面的时候
- 服务器只返回这界面所对应的网页