PHP 包含 CDN 上的静态远程 HTML 文件
PHP Include for static remote HTML files on a CDN
我有一个创建静态 HTML 文件的应用程序。这些文件旨在托管在远程 CDN 上,它们将是标准的 .html 文件。
我想知道两件事:
- 是否可以对这些文件进行 PHP 包含?
- 你这样做能有好的表现吗?
可以做到吗?
直接回答问题,是的,从技术上讲,您可以使用 PHP include
函数包含一个远程文件。为此,您只需在 php.ini.
中将 allow_url_include
指令设置为 On
根据您打算将其用于什么目的,我也鼓励您查看 file_get_contents
。
要为 file_get_contents
启用远程文件,您需要将 allow_url_fopen
设置为 On
。
应该做吗?
直接回答你的第二个问题,有很多因素将决定你是否会获得良好的性能,但总而言之,它不太可能对性能产生显着影响。
不过,还有其他注意事项:
- 从安全角度来看,ill-advised 启用其中一个指令
- 通过从您的服务器而不是 CDN 传送文件,您将否定 CDN 的所有优势(见下文)
- 真的有必要吗?
CDN
关于 CDN 的一个常见误解是他们所做的只是从更近的位置提供您的数据,因此它使请求稍微快一些......这是错误的!
CDN 的好处无穷无尽,但我在下面列出了一些(显然取决于配置和提供商):
- 他们删除了不必要的 headers
- 没有发送 cookie,因为 CDN 往往在不同的地方,因此 cookie-free,域
- 他们处理压缩
- 他们从最近的位置传送您的内容
- 他们处理缓存
- ...还有更多
通过从您的服务器提供文件,您将失去上述所有好处,当然,除非您将服务器设置为以相同方式处理请求(这可能需要时间)。
总结;就个人而言,我会避免将您的 .html
文件远程包含到 PHP 中,而是直接从 CDN 将它们提供给客户端。
要了解如何进一步优化您的站点,并了解大多数 CDN 提供的许多好处,请查看 GTMetrix。
我有一个创建静态 HTML 文件的应用程序。这些文件旨在托管在远程 CDN 上,它们将是标准的 .html 文件。
我想知道两件事:
- 是否可以对这些文件进行 PHP 包含?
- 你这样做能有好的表现吗?
可以做到吗?
直接回答问题,是的,从技术上讲,您可以使用 PHP include
函数包含一个远程文件。为此,您只需在 php.ini.
allow_url_include
指令设置为 On
根据您打算将其用于什么目的,我也鼓励您查看 file_get_contents
。
要为 file_get_contents
启用远程文件,您需要将 allow_url_fopen
设置为 On
。
应该做吗?
直接回答你的第二个问题,有很多因素将决定你是否会获得良好的性能,但总而言之,它不太可能对性能产生显着影响。
不过,还有其他注意事项:
- 从安全角度来看,ill-advised 启用其中一个指令
- 通过从您的服务器而不是 CDN 传送文件,您将否定 CDN 的所有优势(见下文)
- 真的有必要吗?
CDN
关于 CDN 的一个常见误解是他们所做的只是从更近的位置提供您的数据,因此它使请求稍微快一些......这是错误的!
CDN 的好处无穷无尽,但我在下面列出了一些(显然取决于配置和提供商):
- 他们删除了不必要的 headers
- 没有发送 cookie,因为 CDN 往往在不同的地方,因此 cookie-free,域
- 他们处理压缩
- 他们从最近的位置传送您的内容
- 他们处理缓存
- ...还有更多
通过从您的服务器提供文件,您将失去上述所有好处,当然,除非您将服务器设置为以相同方式处理请求(这可能需要时间)。
总结;就个人而言,我会避免将您的 .html
文件远程包含到 PHP 中,而是直接从 CDN 将它们提供给客户端。
要了解如何进一步优化您的站点,并了解大多数 CDN 提供的许多好处,请查看 GTMetrix。