我脑子里有一个问题。
因此,假设我们有一台前端服务器,该服务器具有足够的负载,并且只需 just 即可通过网络将文件发送到客户端。
您是否还会说服务器端渲染将使其性能更高?否则在这种情况下它实际上会减少它(我问这个,因为实际上服务器可能需要做更多我认为有的处理)
IMO关于服务器端渲染的最初想法和想法是您的前端服务器是否能够处理文件并将其发送回客户端计算机?否则就没有意义了?
我对此没有强烈的意见,这就是为什么我在这里问这个问题:)
答案 0 :(得分:3)
长话短说总是是没有效率的。特别是在计算世界中。
但是正如@Abhishek Mehandiratta所提到的,服务器端渲染(SSR)的精神是减少初始渲染时间。虽然降低初始负载在用户体验方面具有巨大影响,但仍然需要权衡取舍。
我要说的是,公司从初始渲染的效率和用户体验中获得的收益要远远超过对服务器负载的影响。
仍有争论的空间,它仍然取决于需求和用例。与只有100个组件的网站相比,考虑使用30 000
react component(包括移动和网络)的Facebook用户界面可能有所不同...
当涉及服务和服务器的可伸缩性和可用性时,它变得非常棘手。为了处理这样的负载和渲染时间,他们使用了很多技术。
以前,除了初始渲染时间以外,服务器端渲染还具有Search Engine Optimisation(SEO)的巨大优势,因为Web搜寻器无法搜寻javascript生成的页面。但是,大多数现代搜索引擎现在都在爬行,并且能够解析javascript生成的页面(read this if this topic interests you)
此外,您还可以从Walmart experience中学习如何迁移到他们的前端Web的服务器端呈现。
答案 1 :(得分:1)
SSR通过显着减少初始渲染时间来提高应用程序性能,但是当然,这是以增加服务器负载为代价的。是否要使用SSR取决于您的应用程序和服务器的功能。如果有反应,则renderToString方法是同步的。如果要使此过程异步,则React 16+提供方法renderToNodeStream。但是我不了解角度。