• CSR/SSR以及同构渲染的区别


    1CSR(客户端渲染)

    在现在化的前端项目中,客户端渲染的代表性技术栈是vue,react,angular,我们常常使用他们来构建客户端单页或者多页应用程序。以SPA构建程序为例,在浏览器端首先渲染的是一套空的html,通过JS直接进行页面的渲染和路由跳转等操作,所有的数据通过ajax请求从服务器获取后,在进行客户端的拼装和展示。

    原理:

    (1)客户端发起http请求

    (2)服务端响应http请求,返回一个空的html文件

    (3)客户端初始化时加载必须的js文件,请求接口

    (4)将生成的dom插入到html中

    缺点

    (1)首屏加载慢

    (2)不利于SEO

    2SSR(传统服务器渲染)

    传统的服务器渲染有:asp,jsp,ejs等,服务器语言往往通过这些模板引擎将数据和dom在服务器端渲染完成,返回一个完整的静态html页面给客户端,由客户端直接显示。

    原理:

    (1)客户端发送http请求

    (2)服务端响应http请求,返回拼接好的html字符串给客户端

    (3)客户端渲染html

    缺点:

    (1)前后端分离,不好维护

    (2)用户体验不佳,需要重新加载页面

    (3)服务端压力大

    3 同构(现代服务端渲染)

    Vue,React的SSR方案实际上就是同构渲染,我们现在讲的服务器端渲染概念,是指在前端范畴活者说的vue,react等单页面技术栈范畴内,基于Node.js server运行环境的服务端渲染方案,通过在Node.js中运行相同应用程序的前端框架(例如React,Vue等),将其预渲染成HTML,最后在客户端进行注水化处理。简单来讲,就是应用程序的大部分代码在服务器(node服务端)和客户端上运行,这就是所谓的现代服务端渲染:同构。

    原理:

    (1)客户端发起http请求

    (2)服务端渲染把Vue实例转换成静态的html发送给客户端

    (3)客户端渲染是需要把事件,响应式特性等Vue的特性都绑定回去

    缺点:

    (1)服务端压力大

    (2)涉及构建设置和部署的更多要求

    (3)一些三方库可能需要特殊处理

    优点:

    (1)首屏加载快

    (2)前后端分离

    (3)利于SEO

    (4)有一些现成框架:Nuxt.js,Next.js

  • 相关阅读:
    springboot整合mybatis实现增删改查(xml)--项目阶段1
    上周热点回顾(7.3-7.9)
    浅析C#中的托管、非托管堆栈与垃圾回收
    Zookeeper经典应用场景实战
    Nginx反向代理配置POST请求的nginx.conf相关配置
    [附源码]Python计算机毕业设计Django海滨学院学生大创项目申报与审批系统
    化工原理 --- 热量传递
    如何在Mac之间进行数据迁移,macbook怎么迁移数据
    基本元器件 - 二极管
    C# 图解教程 第5版 —— 第3章 C# 编程概述
  • 原文地址:https://blog.csdn.net/alice9999999/article/details/127926428