React 中的客户端渲染是什么?


客户端渲染是一种用于 Web 开发的技术,用于提高网页的性能。它将浏览器的渲染过程从服务器转移到客户端。这样,就不需要进行往返请求来渲染页面。

让我们首先讨论一下当您的程序需要客户端渲染时会发生什么。React 应用程序是通过从简单的 HTML 文档调用一个或多个 JavaScript 模块来开发的,同时仅使用 CLI 或 React 命令 create-react-app。

每个页面的 HTML 由 JavaScript 创建并加载到网站中,JavaScript 会自动将其添加到文档的仪器模型中。所有操作都发生在该客户端侧。

让我们探讨一下 React.js 中的客户端渲染是什么 -

关于客户端渲染

客户端渲染是一种相对较新的渲染网站的方法,它是在 JavaScript 库开始支持它之后才开始流行的。

当您讨论客户端渲染时,指的是使用 JavaScript 在网页上显示信息。

客户端渲染是在客户端生成 HTML 的过程,无需向服务器发送请求。

因此,只获得一个包含 JS 脚本的最小 HTML 文件进行早期加载;然后使用 Web 服务器渲染网站的其余部分,而不是直接从 HTML 文件接收所有内容。此过程可以加快页面加载速度并使交互更流畅。

使用客户端渲染时,第一页加载速度有点慢。但是,此后每个后续页面加载速度都很快。此方法仅与服务器通信以获取运行时信息。

此外,每次调用网站后,都不需要重新加载完整的用户界面。

客户端系统可以通过仅重新渲染特定 DOM 组件来使用更新的数据刷新用户界面。目前,用于客户端渲染的框架中最显著的示例是 React.js 和 Angular。

React.js 中的客户端渲染

在 React 中,客户端渲染由其核心功能之一 - 虚拟 DOM 支持。虚拟 DOM 是一个存储 DOM 树副本的 JavaScript 对象,可用于

快速比较真实 DOM 树。React 利用这一点,只更新已更改的内容以节省处理时间并加快网站加载速度。

服务器端渲染和客户端渲染之间的主要区别在于,使用服务器端渲染,浏览器仅在请求时从服务器接收 HTML,而使用客户端渲染,浏览器还从服务器获取 JavaScript,然后在显示任何内容之前执行它,这意味着只要后端的数据发生变化,就不需要重新加载或刷新页面。

React 中的客户端渲染比服务器端渲染快得多,因为浏览器和服务器之间的往返次数更少。相反,您的所有 JSX 都将发送到您的浏览器,以便您可以立即渲染您的应用程序!

客户端渲染的工作原理?

客户需要通过使用 Web 服务器和地址访问任何 Web 内容(链接)。

当客户端最初请求站点时,主机将静态内容(Html 和 CSS)发送到客户端的 Web 服务器。

HTML 信息应首先下载,然后下载 JavaScript,由用户的浏览器下载。这些 Html 文档链接到 JavaScript。加载操作在客户观察到网站开发人员指定的加载指示器时开始。客户端尚无法访问网站。

客户端的网页在下载 JavaScript 后不断生成信息。

由于客户端浏览并与网站互动,因此在线内容变得可用。由于此过程,初始加载时间延长了。

在简短的介绍性加载时间后,网站的浏览速度将非常快且无缝,只需 API 请求即可自动检索信息。

为什么要使用客户端渲染?

客户端渲染是一种允许 Web 浏览器显示网站内容而无需等待从服务器下载整个页面的技术。

此技术的一些好处是它可以加快页面加载速度、使搜索引擎更快地索引您的内容以及帮助 SEO。

  • 速度 - 客户端渲染总的来说很快。似乎有几个变量可能会影响速度,包括您的网络速度、CPU 的计算能力、API 的响应时间以及您的 Web 主机响应请求的速度。

  • 客户请求 API 信息 - JavaScript 可以自动生成您的网站,同时允许它通过 API 并发访问数据库。您的网站通常会在填充数据库文件之前获取灵活的 HTML。客户端的响应和对任何 API 的请求时间都比服务器慢。

  • 客户操作 - 必须记住,当应用程序使用客户端渲染时,用户 CPU 处理所有 JavaScript 功能。通常,这不会太苛刻,并且大多数计算机必须能够处理它。网站应该显示得非常快。您可能会注意到,在某些情况下拥有客户端的操作并非最佳选择,例如在廉价或旧的 PC 上,这些 PC 的处理器速度较慢。

优缺点

客户端渲染对于 Web 主机来说成本更低,因为它减少了对其资源的压力,因为整个渲染责任都由用户承担。

此外,它是 JavaScript 网页的标准设置,这使得 Web 开发人员在客户端渲染方面比在服务器端渲染方面更容易。

  • 查看者可以浏览您的网页,而无需来回访问服务器。这为您的网站提供了快速、几乎类似于原生应用程序的体验。

  • 客户端渲染的应用程序不需要网站。您的应用程序可以轻松地托管在任何 CDN 或静态文件服务器上,例如 Amazon S3。有许多免费选项可用于托管客户端渲染的应用程序。

当在客户端渲染中使用 JavaScript 时,浏览器更难以分析站点的输出,导致 SEO 明显下降。

为了使搜索引擎优化取得成功,内容需要在搜索引擎的结果页面上得到适当的渲染、索引和排名。对于使用客户端渲染的网站,情况并非总是如此。

客户端渲染的缺点

  • 客户端渲染的应用程序需要通过 API 网关进行中间轮询才能进行渲染。因此,与具有类似功能的静态或服务器端渲染的应用程序相比,您的网站将始终加载得更慢。

  • 在较慢的计算机和移动设备上,客户端渲染可能会使加载时间增加几秒钟。由于此原因,用户可能会变得不耐烦并在网站完全加载后离开。

  • 客户端渲染的应用程序通常存在 SEO 问题。尽管 Google 做出了相反的承诺,但使用 JavaScript 的网站在搜索结果中的排名通常很差。当加载时间过长时,您的网站可能会被归类为空白页面。

结语

大多数 Web 应用程序都是服务器端渲染的。这会在服务器上渲染页面,然后将其发送给用户。这样做的缺点是页面加载需要很长时间,有些人可能需要等待很长时间才能看到任何内容。

客户端渲染的应用程序加载速度更快,因为浏览器在加载内容之前不需要等待来自服务器的请求。缺点是此类应用程序可能出现更多问题,例如当 HTML 文件或 JavaScript 代码发生更改时。

更新于:2022 年 11 月 7 日

7K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告