【问题标题】:Understanding the difference between Client Side Rendering and Server Side Rendering?了解客户端渲染和服务器端渲染之间的区别?
【发布时间】:2017-02-04 09:32:04
【问题描述】:
在理解客户端渲染和服务器端渲染之间的基本区别的过程中,我有点处于十字路口。经过大量研究,这是我的理解
当我们渲染到服务器时意味着:
您有一个本地服务器,例如 Apache Tomcat,您托管了一个 Web 应用程序
通过单击在服务器上运行,它会在服务器上呈现您的 HTML。
我完全理解这一点。现在开始我的困惑:
客户端渲染??????
您在没有本地服务器的情况下托管 Web 应用程序???
我可能错了,但这也是它带给我的结论。
我知道,ReactJS 同时进行服务器端渲染和客户端渲染。但是,我没有得到这两种渲染之间的基本区别。
任何帮助将不胜感激。
【问题讨论】:
标签:
javascript
client-side
serverside-javascript
【解决方案1】:
在这种情况下,“渲染”是指“从各个组成部分组装文档”。
使用服务器端渲染,您将在服务器上完成所有这些操作,然后将完整的 HTML 文档发送到浏览器。
这是:
通过客户端渲染,您将使用客户端 JavaScript 加载模板和一些数据(使用多个请求),然后将它们放在浏览器中以形成 DOM 并创建页面。
这可以为后续页面提供性能优势(因为为它们获取的数据更少),尽管引导初始页面的成本通常更高。
可以通过结合这些技术来弥补鲁棒性和搜索引擎友好性的不足。对页面(任何页面)的新请求使用服务器端呈现,但以下链接触发 JavaScript 以涉及 Ajax、History API 和客户端呈现。如果您使用服务器端 JavaScript,您可以为两者重用一些相同的代码(这有时称为同构 JS)。