php中输出缓冲测试
在看phpcms的源码,发现有这样一行:ob_start('ob_gzhandler');,虽然我知道这个是输出缓存,压缩页面,提高加载速度等等啥的作用,但是具体压缩到多少呢?
于是我做了一个实验,创建了一个php文件,代码如下:
for($i = 1; $i <= 200000; $i++) {
echo '硬汉工作室<br />';
}
chrome访问,打开开发者工具,切换到Network标签,显示文件大小是22.6kb,这应该是没有经过任何压缩的。
现在我加上输出缓存
ob_start('ob_gzhandler');
for($i = 1; $i <= 200000; $i++) {
echo '硬汉工作室<br />';
}
现在访问,显示文件大小是10.4kb,粗略算,压缩率50%+,如果网页内容比较多的话,效果应该还比较明显。
那么, ob_gzhandler是啥呢?,这个应该是一个压缩算法函数,gz格式的压缩?
ob 是output buffer的简写,buffer是啥?缓冲,而不是缓存,ob_start()是打开缓冲区,所以默认情况下,打开缓冲区不会有浏览任何速度的提升,必须配合相应的压缩函数。
几个常用的ob函数:
ob_get_contents() 获取缓冲区内容,但是不清空缓冲区;
ob_get_clean() 获取缓冲区内容,同时清空缓冲区;
收到26条评论

nciaer 14 天前
4444444444444444444444
回复

nciaer 14 天前
555555555
回复

nciaer 14 天前
55555555
回复

nciaer 14 天前
4444444
回复

nciaer 14 天前
33333333
回复

nciaer 14 天前
测试评论还能生效吗?
回复

nciaer 23 天前

hello

hello
回复

nciaer 25 天前
😍😍😍😍😍
回复


nciaer 28 天前
内容优质,值得推荐
内容优质,值得推荐
回复
