了解客户端渲染和服务器端渲染之间的区别?

时间:2017-02-04 09:32:05

标签: javascript client-side serverside-javascript

在理解客户端渲染和服务器端渲染之间的基本区别的过程中,我处于交叉路中。经过大量的研究,这是我的理解

当我们渲染到服务器时,它意味着:

  

你有一个本地服务器说Apache Tomcat,你托管一个web应用程序
    通过单击服务器上的运行,它在服务器上呈现您的HTML。

我完全理解这一点。现在开始我的困惑了:

客户端渲染?????

  

您托管没有本地服务器的Web应用程序???

我可能错了,但这也是它带给我的结论。

我知道,ReactJS同时执行serverSide渲染和客户端渲染。但是,我没有得到这两个渲染之间的基本区别。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

“渲染”在此上下文中的意思是“从各个组成部分组装文档”。

使用服务器端呈现,您可以在服务器上执行所有操作,然后将完整的HTML文档发送到浏览器。

这是:

  • 传统
  • 鲁棒
  • 搜索引擎友好

使用客户端呈现,您将使用客户端JavaScript加载模板和一些数据(使用多个请求),然后将它们放在浏览器中以形成DOM并创建页面。

这可以为后续页面提供性能优势(因为为它们提取的数据更少),尽管引导初始页面的成本通常更高。

通过组合这些技术可以弥补缺乏稳健性和搜索引擎友好性。对页面的新请求(任何页面)使用服务器端呈现,但是以下链接触发JavaScript以涉及Ajax,历史API和客户端呈现。如果您使用服务器端JavaScript,则可以为两者重用相同的代码(有时称为Isomorphic JS)。