我想创建一个不依赖于客户端JavaScript的网站,但我仍然希望使用客户端路由等SPA功能,因此我正在考虑使用不在客户端渲染的框架。这两个似乎是这种情况下的顶级选项,但我不确定两种不同类型的服务器处理之间的区别。
我想创建一个不依赖于客户端JavaScript的网站,但我仍然希望使用客户端路由等SPA功能,因此我正在考虑使用不在客户端渲染的框架。这两个似乎是这种情况下的顶级选项,但我不确定两种不同类型的服务器处理之间的区别。
服务端渲染是指客户端/浏览器向服务器发出请求,然后在此时生成HTML代码,并实时返回给浏览器进行渲染。
静态网站渲染非常类似,但解析是在构建时间进行的。因此,当请求发出时,HTML代码已被静态地存储,可以直接发送回客户端。
它们都有其优点和缺点:
虽然静态网站在运行时速度更快,因为不需要进行服务器端处理,但这意味着对数据进行任何更改都需要在应用程序服务器端上进行完整的重建。
另一方面,采用服务器端方法,在放置任何缓存的情况下,数据会实时处理并直接发送到客户端。
通常,决定最好根据内容需要多动态和实时与应用程序性能之间的平衡来进行。
例如,Stackoverflow很可能使用服务器端渲染方法。它有太多的问题需要每次提交新帖子时重新生成每个问题页面的静态版本。数据还需要非常实时,用户可以看到仅仅几秒钟前提交的帖子。
然而,一个博客网站或促销网站,几乎没有任何内容更改,将更加受益于静态网站设置。响应时间更快,服务器成本更低。