从 REST-api 和模板预呈现静态网站?
Pre-render a static website from REST-api and templates?
我有休息时间-api,我将使用它来使用一些基本的模板语言呈现 html。我想知道是否有任何好的平台或服务可以预渲染 HTML-files 并静态地提供它们。为了性能和可扩展性。
我需要连续预呈现页面,比如每 24 小时一次,并且还应该可以告诉系统以某种方式重新呈现特定页面。我对大多数开源语言都很满意,node 是我的最爱。
在我看来,实现此目的最直接的方法是使用两层:渲染服务器和缓存服务器。当缓存服务器启动时,它会抓取呈现服务器上的每个 url 并将预呈现的 HTMLS 文件存储到其本地目录中。为简单起见,您可以镜像 "directory structure" 并使资源路径相同。换句话说,对于呈现服务器上的每个 URL,如下所示:
http://render.xyz/path/to/resource
您在缓存服务器上创建一个目录结构/path/to
,并在其中放置一个文件resource
。
您的最终用户无需了解此体系结构。他们像这样向缓存服务器发出请求:
http://cache.xyz/path/to/resource
缓存服务器为他们提供他们正在寻找的结果。
有很多方法可以告诉缓存服务器刷新(重新生成)页面。您可以添加一个 "hidden" 目录,我们称它为 .cache-command
,并用它来处理刷新请求。例如,要告诉缓存服务器刷新资源,您可以像这样使用 URL:
http://cache.xyz/.cache-command/refresh/path/to/resource
当缓存服务器收到该请求时,它会刷新资源。
这种方法的优点之一是您的缓存服务器可以完全独立于呈现服务器。它们可以用不同的语言编写,运行 在不同的硬件上,或者它们可以是同一个 nodejs 应用程序的一部分。最适合你的。
我有休息时间-api,我将使用它来使用一些基本的模板语言呈现 html。我想知道是否有任何好的平台或服务可以预渲染 HTML-files 并静态地提供它们。为了性能和可扩展性。
我需要连续预呈现页面,比如每 24 小时一次,并且还应该可以告诉系统以某种方式重新呈现特定页面。我对大多数开源语言都很满意,node 是我的最爱。
在我看来,实现此目的最直接的方法是使用两层:渲染服务器和缓存服务器。当缓存服务器启动时,它会抓取呈现服务器上的每个 url 并将预呈现的 HTMLS 文件存储到其本地目录中。为简单起见,您可以镜像 "directory structure" 并使资源路径相同。换句话说,对于呈现服务器上的每个 URL,如下所示:
http://render.xyz/path/to/resource
您在缓存服务器上创建一个目录结构/path/to
,并在其中放置一个文件resource
。
您的最终用户无需了解此体系结构。他们像这样向缓存服务器发出请求:
http://cache.xyz/path/to/resource
缓存服务器为他们提供他们正在寻找的结果。
有很多方法可以告诉缓存服务器刷新(重新生成)页面。您可以添加一个 "hidden" 目录,我们称它为 .cache-command
,并用它来处理刷新请求。例如,要告诉缓存服务器刷新资源,您可以像这样使用 URL:
http://cache.xyz/.cache-command/refresh/path/to/resource
当缓存服务器收到该请求时,它会刷新资源。
这种方法的优点之一是您的缓存服务器可以完全独立于呈现服务器。它们可以用不同的语言编写,运行 在不同的硬件上,或者它们可以是同一个 nodejs 应用程序的一部分。最适合你的。