打开网易新闻 查看精彩图片

您可能听说过“静态内容”这个词——它适用于某些类型的网站和文件,并且根据您运行的网站类型,它会对您的托管方式产生巨大影响那个网站。

静态与动态内容

“静态内容”适用于不会更改的文件。它们作为文件存储在磁盘上并直接提供给您网站的用户。例如,CSS 样式表是静态内容;它们可以作为文件下载托管,并且对于每个用户都是相同的。

这并不意味着静态内容不能提供交互式网站。JavaScript 文件是静态内容,它们在到达用户浏览器之前不会执行任何代码。使用ReactJS 之类的 JavaScript 框架,您可以拥有无需任何服务器端处理的交互式 Web 应用程序。React 的文件只是 JavaScript 包文件、HTML 和 CSS——常规的网站内容。

另一方面,动态内容是为每个唯一用户创建的。了解发生这种情况的区别很 重要。动态内容是专门在 服务器端创建的, 通常是通过发出数据库请求并在将页面发送给用户之前更新页面。据用户所知,他们只是得到一个网页。永远看不到数据库。

打开网易新闻 查看精彩图片

WordPress是动态内容的著名示例,这就是您现在正在阅读的内容。对于文章的每个请求,WordPress 都会与 MySQL 数据库对话并获取页面信息。该信息可能会被缓存以提高性能,但它仍然是动态内容。

关键的一点是,这需要在 Web 服务器上进行 CPU 处理。使用 PHP、Ruby on Rails 或 Django 等工具的网站都在服务器上执行。每个请求都使用额外的 CPU 能力,并且必须始终有这样的服务器来处理与数据库的对话。

另一方面,您可以拥有实现大致相同效果的“静态内容”。在此示例中,处理是在客户端完成的。

打开网易新闻 查看精彩图片

这仍然可以是“动态的”,因为它可以响应输入、更新页面和组件以及提供交互式 Web 应用程序,但所有处理都由用户的浏览器完成。

通常,如果您想将其连接到数据库,您需要设置一个 API — 一个 Web 服务器,它以浏览器应用程序可以加载的 JSON 格式响应请求。在这种情况下,此 API Web 服务器将提供动态 JSON 内容。

静态内容托管的好处

传统上,如果您想托管一个网站,您需要设置一个 Web 服务器来处理请求。但是,如果您只提供静态内容,那么您的 Web 服务器实际上不需要做太多事情。事实上,你所要做的就是设置一个像 NGINX 这样的服务来通过 HTTPS 为这些静态文件提供服务。

这是一项简单的任务,许多云服务提供了托管文件的解决方案,而无需配置您自己的服务器。这可以极大地降低成本,让您只需为数据付费。扩展也很容易,因为如果您在 AWS 这样的平台上托管,您的网站永远不会因为流量过多而关闭。

静态内容可以从 AWS 的简单存储服务 (S3) 等云存储解决方案托管。您只需将文件上传到存储桶,将其配置为托管,即可从 Internet 获取。

打开网易新闻 查看精彩图片

虽然这是一个简单的设置,但它实际上是一个不错的企业级托管网站解决方案。如果您的网站不使用动态内容,您将希望优先使用此类解决方案,而不是托管您自己的 Web 服务器,尤其是在您使用 AWS 等云提供商时。