当前位置: 首页 > Web前端 > HTML

Web开发中SSR、CSR、SSG的区别

时间:2023-03-27 23:41:32 HTML

本文介绍这三个术语在Web前端开发领域的区别。CSR-ClientSideRendering一种在浏览器上执行JavaScript以生成DOM并在挂载后显示内容的方法。该页面最初加载时不显示任何内容,并在水合作用完成后显示。使用CreateReactApp库创建的React应用程序以这种方式呈现。SSR-服务器端呈现一种在服务器端评估和执行组件并以HTML和最少的JavaScript交付结果的方法。每次向服务器发出请求时,都会在服务器端处理和生成HTML。Nuxt.js、Next.js等都是这样渲染的。内容从初始加载开始显示,然后通过Hydration变为交互式。(例如使其可跳转)它被认为比CSR具有更好的性能和SEO友好性。SSG-服务器端生成与SSR一样,HTML首先在服务器端生成。SSG和SSR之间的区别在于HTML是在构建时生成的,而内容是在每次发出请求时从CDN交付的。这用于博客、帮助站点和电子商务产品列表等静态页面。SSG的性能优于SSR,因为HTML是在构建时生成的。默认情况下,Next.js预渲染每个页面。这意味着Next.js提前为每个页面生成HTML,而不是全部由客户端JavaScript完成。预渲染可以带来更好的性能和SEO。每个生成的HTML都与该页面所需的最少JavaScript代码相关联。当浏览器加载页面时,它的JavaScript代码运行并使页面完全交互,这个过程称为Hydration。这三种渲染方式如何选择?是否可以在用户请求之前预呈现页面?如果是,请使用SSG。如果不是,请使用SSR或CSR。