原理
ob_start('ob_gzhandler') 是 PHP 中用于启用输出压缩的常用方法,它的工作原理如下:
ob_start() 开启输出缓冲,所有输出内容不会直接发送到客户端,而是先存储在缓冲区
当缓冲区满、脚本执行完毕或显式调用 ob_end_flush() 时,缓冲区内容才会被处理并发送
当指定 ob_gzhandler 作为回调函数时,缓冲区内容在发送前会经过压缩处理
ob_gzhandler 会根据客户端支持的压缩方式(检查 Accept-Encoding 请求头)选择最合适的压缩算法(通常是 gzip 或 deflate)
减少传输数据量:文本内容(HTML/CSS/JS)通常可压缩至原大小的30%以下
提高页面加载速度:尤其对低带宽连接效果显著