服务器端渲染(Next.js)和静态网站渲染(Gatsby.js)有什么区别?

时间:2019-10-02 08:23:08

标签: node.js reactjs gatsby next.js server-side-rendering

我希望创建一个不依赖客户端JavaScript的网站,但是,我仍然想使用SPA功能(例如客户端路由等),因此我希望使用的框架不能在客户端。这两个似乎是这类事情的最佳选择,但是,我不确定这两种不同类型的服务器处理之间的区别。

1 个答案:

答案 0 :(得分:2)

服务器端渲染是从客户端/浏览器向服务器发出请求的地方,然后在运行时运行时生成HTML并将其发送回要呈现的浏览器。

静态站点渲染非常相似,但是解析是在构建时间内执行的。因此,在发出请求时,HTML会静态存储,并且可以直接发送回客户端。


他们都有优点和缺点:

尽管静态站点在运行时会更快,因为不需要服务器端处理,但这确实意味着对数据的任何更改都需要在应用程序服务器端进行完全重建。

或者,通过服务器端方法,将所有缓存放在一边,数据将被即时处理并直接发送给客户端。


通常最好根据内容的动态性和实时性以及应用程序的性能来做出决定。

例如,Stackoverflow最有可能使用服务器端呈现方法。每次提交新帖子时,都有许多问题可以用来重建每个问题页面的静态版本。数据还必须是实时的,用户只能看到几秒钟前提交的帖子。

但是,几乎没有任何内容更改的博客站点或促销站点将从静态站点设置中受益更多。响应时间会更长,服务器成本也会更低。