我们如何处理两者的压缩?是谁的责任?哪个更好,使用 apache 或 php 压缩文件?
PHP压缩代码:
ob_start("ob_gzhandler");
或者阿帕奇之一:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
请求首先到达 apache 然后到达 PHP 是否正确?如果答案是肯定的,那么我们可以推断我们应该使用 apache 吗?
好吧,这就是我所知道的,以利弊的方式呈现。阿帕奇:
使用 PHP,您不能在一个地方编写所有内容。除了压缩之外,您的 .htaccess 还应具备许多其他功能:
字符集、过期/缓存控制,很可能是一些 URL 重写规则、权限、机器人(Googlebot 等)特定的东西。
据我所知,您不能仅使用 PHP 来完成所有这些工作,而且由于您可能需要完成所有这些工作,所以我不明白您为什么应该将两者结合起来。我一直依靠 .htaccess 或服务器级别的配置来控制上述列举的方面,并且很少遇到问题。
PHP:
总的来说,Apache 是赢家。这就是我一直都会去的!
我不明白为什么两者中的任何一个都应该更快,但请记住,apache 也可以对 css 文件/js 文件进行压缩......你不想在你之前用 php 解析这些文件来压缩它们将它们传送到浏览器。
所以我建议使用apache方法。
在我的公司,我们通常对静态资源使用 gzip 压缩。Apache 要求 PHP 处理这些资源(如果需要),然后压缩输出结果。我会说它在理论上更快(C 和 C++ 比 PHP 更快)并且使用 Apache 压缩“更安全”。
注意:这里更安全意味着将压缩整个页面,而您可能会忘记使用该ob_start
功能压缩网页的一部分。
您必须运行自己的测试才能看到哪个更快,但我不认为内容的提供方式应该有任何区别。使用 PHP,您必须自己处理输出缓冲,这可能会更加困难。使用 apache 方法更透明。
Apache 更好,因为它可以防止 php 的内存限制错误,并且由于 php 中的编译代码与解释代码相比,它的运行速度更快,而且在与 php 不同的层中进行压缩更有意义