nginx ssi 是如何工作的?

How does nginx ssi work?

找不到关于它的任何信息..所以我几乎没有问题

我需要用它来帮助解决缓存失效"big problem"

1) 如果我理解正确,它需要在它服务的每个文件中搜索以查找是否需要包含其他文件,这听起来很不正常?

2)是一个接一个取还是同时取?

3)这是否意味着如果我在 1 个文件中有 3 个 esi,那么我的 nginx 将针对此文件的每个请求多接收 3 个请求?

4)2015年还在用吗?

除了提供任何技术信息的最小 nginx 文档外,找不到任何关于它的信息,谢谢

根据 ngx_http_ssi_module 的文档,它会导致扫描所有通过的响应以查找 SSI 命令。

所以它与文件或任何东西无关。无论从哪里生成内容(普通文件、反向代理、fastcgi/php),此模块都会分析生成的内容。

  1. 我认为 SSI 不会给您带来重大的性能损失(除非您正在处理和分析大型二进制文件)。您可以通过 MIME 类型限制为 SSI 扫描的内容(默认情况下仅 text/html)。如果您需要准确的数字,则需要使用和不使用 SSI 进行性能测试。

  2. 如果我们谈论的是从您的 SSI 命令中包含其他文件,那么默认情况下所有这些文件都是并行获取的,因此从时间的角度来看,包含 1 个或 3 个文件并不重要.当然,有了 3 个文件,您的服务器还有更多工作要做。

  3. 是的,包含更多 files/urls 意味着对 nginx 的更多请求(除非这些 url 指向其他服务器)。

  4. SSI模块在最新的nginx版本中仍然存在,但我不知道是否有大公司真正使用它。这完全取决于您想要实现的目标。我仍然不明白你想如何使用 SSI 进行缓存失效。