服务器端渲染总是高效的吗?
Is server-side rendering always efficient?
这个问题我想了很久。
所以让我们假设我们有一个前端服务器,它有足够的负载和命中 just 通过网络向客户端发送文件。
您还会说服务器端渲染会提高性能吗?或者在这种情况下它实际上会减少它(我问这个是因为实际上服务器可能必须做更多我认为有的处理)
IMO 服务器端呈现的最初想法和想法是您的前端服务器能够比客户端计算机更快地处理文件并将其发回?否则就没意义了???
我对此没有强烈的意见,这就是我在这里提问的原因:)
SSR 通过显着减少初始渲染时间来提高您的应用程序性能,但当然它是以增加服务器负载为代价的。是否要SSR取决于您的应用程序和服务器的能力。在反应的情况下,renderToString 方法是同步的。如果你想让这个过程异步,react 16+给出了一个方法renderToNodeStream。不过我不知道 angular。
长话短说没有什么是总是有效的。特别是在计算领域。
但正如@Abhishek Mehandiratta 提到的,服务器端渲染 (SSR) 的精神是减少初始渲染时间。虽然减少初始负载对用户体验有巨大影响,但它仍然有其自身的权衡。
我想说公司从初始渲染的效率和用户体验中获得的好处远远优于对服务器负载的影响。
还有一个space可以争论,这仍然取决于需求和用例。考虑到具有 30 000
react component 的 Facebook 用户界面(包括移动和网络)可能与只有 100 个组件的网站相比有所不同...
当谈到服务和服务器的可扩展性和可用性时,它变得非常棘手。为了处理这样的加载和渲染时间,他们使用了相当多的技术。
- Lazy load components (code splitting)
- Concurrent rendering (it's more of a time slicing approach)
- 缓存
- .....(以及更多)
以前除了初始渲染时间之外,服务器端渲染对搜索引擎优化 (SEO) 有 巨大 好处,因为网络爬虫无法抓取生成的 javascript页。但是大多数现代搜索引擎现在都可以抓取并能够解析 javascript 生成的页面(read this if this topic interests you)
此外,您还可以从 Walmart experience 中学习如何为他们的 React 前端 Web 迁移到服务器端渲染。
这个问题我想了很久。
所以让我们假设我们有一个前端服务器,它有足够的负载和命中 just 通过网络向客户端发送文件。
您还会说服务器端渲染会提高性能吗?或者在这种情况下它实际上会减少它(我问这个是因为实际上服务器可能必须做更多我认为有的处理)
IMO 服务器端呈现的最初想法和想法是您的前端服务器能够比客户端计算机更快地处理文件并将其发回?否则就没意义了???
我对此没有强烈的意见,这就是我在这里提问的原因:)
SSR 通过显着减少初始渲染时间来提高您的应用程序性能,但当然它是以增加服务器负载为代价的。是否要SSR取决于您的应用程序和服务器的能力。在反应的情况下,renderToString 方法是同步的。如果你想让这个过程异步,react 16+给出了一个方法renderToNodeStream。不过我不知道 angular。
长话短说没有什么是总是有效的。特别是在计算领域。
但正如@Abhishek Mehandiratta 提到的,服务器端渲染 (SSR) 的精神是减少初始渲染时间。虽然减少初始负载对用户体验有巨大影响,但它仍然有其自身的权衡。
我想说公司从初始渲染的效率和用户体验中获得的好处远远优于对服务器负载的影响。
还有一个space可以争论,这仍然取决于需求和用例。考虑到具有 30 000
react component 的 Facebook 用户界面(包括移动和网络)可能与只有 100 个组件的网站相比有所不同...
当谈到服务和服务器的可扩展性和可用性时,它变得非常棘手。为了处理这样的加载和渲染时间,他们使用了相当多的技术。
- Lazy load components (code splitting)
- Concurrent rendering (it's more of a time slicing approach)
- 缓存
- .....(以及更多)
以前除了初始渲染时间之外,服务器端渲染对搜索引擎优化 (SEO) 有 巨大 好处,因为网络爬虫无法抓取生成的 javascript页。但是大多数现代搜索引擎现在都可以抓取并能够解析 javascript 生成的页面(read this if this topic interests you)
此外,您还可以从 Walmart experience 中学习如何为他们的 React 前端 Web 迁移到服务器端渲染。