使用ob_start()
和ob_start('ob_gzhandler')
有什么区别?
它如何影响页面速度?
答案 0 :(得分:13)
这不会影响您可能会想到的页面速度。
ob_gzhandler是一个回调函数,它从输出缓冲区获取内容并在输出之前压缩数据。
这会减少发送到浏览器的内容的大小,这可能会加快向客户端传输内容的速度。但它不会加速您的应用程序/网站。
答案 1 :(得分:6)
我需要强制gzip用于某些管理页面(完整的复杂HTML表格),这些页面没有为某些客户端自动压缩,所以我添加了这个方法。我不确定我是否会强制每个页面,但至少管理员页面很好。
function force_gzip()
{
// Ensures only forced if the Accept-Encoding header contains "gzip"
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
{
header('Content-Encoding: gzip');
ob_start('ob_gzhandler');
}
}
950Kb的HTML被压缩到大约80KB,导致加载页面的速度提高了5-10倍。