客户端渲染、服务器端渲染、页面静态化你知道区别么?

359次阅读  |  发布于2年以前

CSR、 SSR、 SSG 和 ISR 的权衡

大家好, 今天带来的是速冻鱼的这篇区分CSR/SSR/SSG/ISR的文章,希望对你有所帮助~

Client Side Rendering

NextJs 是一个非常流行的 React 框架,其中一个优美的特性是能够使用不同的呈现技术构建 Web 应用程序,例如

客户端渲染CSR

这就是大多数 Web 框架(如 Angular 和 React)开箱即用的支持。这通常适用于单页应用程序(SPA)和具有大量用户交互(如游戏)和高度动态内容(如表单和聊天应用程序)的应用程序。

Client Side Rendering

基本上 web 浏览器最初会加载一个空的 HTML 文件。然后加载的 Javascript 和样式负责在客户端渲染页面

服务器端渲染SSR

CSR 的主要缺点是它SEO不好。因此,大多数的 Web 框架,也提供了在服务器上呈现页面的能力。

Server Side Rendering

与 CSR 不同的是,每个页面都会向 AppServer 发起一个请求,然后在 AppServer 中动态呈现并为该页面提供完整的 HTML。因为每次用户请求时,它都会请求并呈现页面,所以页面服务时间比 CSR 应用程序要长。(需要服务端有比较好的性能)

静态网站生成SSG

为了避免在每个请求中渲染,为什么我们不在构建时生成这些文件,这样我们就可以在用户请求时立即为页面提供服务。

Static Site Generation

如果您想要构建一个充满静态内容(如 blog)的 Web 应用程序,这种技术将非常方便。一个缺点是内容可能过时,每次更改内容时都需要构建和部署应用程序。(在 CMS 中)

增量静态再生ISR

ISR 是 SSG 的下一个改进,它定期构建和重新验证新页面,以便内容永远不会过时。

Incremental Static Regeneration

比较

为了比较这四种技术,我们将考虑以下指标。

Comparison of CSR,SSR, SSG and ISR 一些关键点

结论

在 Highlevel 中,我们可以根据应用程序的动态交互级别将这些渲染技术分为两大类。

参考

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8