为Magento设置Content-Length标头

时间:2014-06-21 15:00:04

标签: php http magento http-headers magento-1.5

我现在正在解决一些网站性能问题,其中一项建议是禁用chunked encoding

我们的网站页面不够大,不需要它,而且开销太大。我对HTTP标头不太熟悉,但我学到的是,如果您没有“Transfer-Encoding: chunked”标头,则会自动设置“Content-Length”标头。

有谁知道如何在Magento中设置“Content-Length”标题?它需要适用于所有页面以及任何缓存的页面(我们使用Lightspeed整页缓存扩展)。

1 个答案:

答案 0 :(得分:0)

我无法代表 Lightspeed整页缓存扩展程序(您需要联系他们的支持部门解决您的问题),但由于magento通过index.php只有一个入口点,可以破解它并将输出包装在缓冲区中:

ob_start();

# ... run magento here

$buffer = ob_get_clean();

然后设置内容长度标题:

header(sprintf("Content-Length: %s", strlen($buffer)));

然后发送缓冲区:

echo $buffer;

可能无法使用您的缓存扩展程序,或者其他扩展程序是否会破坏输出缓冲链。