如何在两者中处理压缩?这是谁的责任?使用apache或php压缩文件,哪一个更好
PHP压缩代码:
ob_start("ob_gzhandler");
或者apache:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
请求首先到达apache然后到达PHP是对的吗?若答案是肯定的,那个么我们能推断出我们应该使用apache吗?
好吧,这是我所知道的,以赞成和反对的方式呈现。Apache:
- .htaccess代码总是执行得更快,因为服务器默认情况下缓存.htaccess文件
- 使用.htaccess,您可以为各个文件夹定义自定义规则服务器会自动接收它们
-
使用PHP,您不能将所有内容都写在一个地方。有除了压缩之外,.htaccess还应该具备许多其他功能:
-
一个字符集,过期/缓存控制,很可能是一些URL重写规则,权限,机器人(谷歌机器人等)特定的东西。
据我所知,你不能仅仅用PHP来完成所有这些,而且由于你可能需要完成所有这些工作,我不明白为什么你应该将两者结合起来。我一直依靠.htaccess或服务器级配置来控制上面列举的方面,很少遇到问题。
PHP:
- 也许更轻松一点。使用共享主机平面上的.htaccess文件,您会受到相当大的限制,并且可能会遇到乏味的问题问题
- 有些服务器不会接收某些命令,有些服务器(如1和1)有默认配置会干扰您的设置(和神经)
- 对于不太懂技术的人来说可能更容易使用
总的来说,Apache是赢家。这就是我一直坚持的!
我不明白为什么两者中的任何一个都应该更快,但请记住,apache也可以压缩css文件/js文件。。。在将这些文件提交到浏览器之前,您不希望使用php解析这些文件以对其进行压缩。
所以我建议使用apache方法。
在我的公司,我们通常对静态资源使用gzip压缩。Apache要求PHP处理这些资源(如果需要),然后压缩输出结果。我想说,在理论上它更快(C和C++比PHP更快),并且使用Apache压缩"更安全"。
注意:这里更安全意味着整个页面将被压缩,而您可以忘记使用ob_start
功能压缩部分网页
您必须运行自己的测试,看看哪一个更快,但我认为内容的提供方式应该没有任何区别。使用PHP,您必须自己处理输出缓冲,这可能会更加困难。使用apache方法更透明。
Apache更好,因为它可以防止php的内存限制错误,并且由于php中编译的代码与解释的代码相比,操作速度更快,而且在不同于php的层中进行压缩也更有意义