11

使用ob_start()和 和有什么不一样ob_start('ob_gzhandler')
它如何影响页面速度?

4

2 回答 2

16

这不会影响您可能认为的页面速度。

ob_gzhandler是一个回调函数,它从输出缓冲区获取内容并在输出之前压缩数据。

这减少了发送到浏览器的内容的大小,这可能会加快内容传输到客户端的速度。但它不会加速您的应用程序/网站。

于 2012-05-16T09:08:26.777 回答
6

我需要对一些没有为某些客户端自动压缩的管理页面(充满复杂的 HTML 表)强制 gzip,所以我添加了这个方法。我不确定我会为每个页面强制它,但至少管理页面很好。

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 倍。

于 2016-02-05T06:00:51.607 回答