我在PHP中寻找gz-compression,我找到了这段代码:
<?php
function print_gzipped_output()
{
$HTTP_ACCEPT_ENCODING = $_SERVER["HTTP_ACCEPT_ENCODING"];
if( headers_sent() )
$encoding = false;
else if( strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false )
$encoding = 'x-gzip';
else if( strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false )
$encoding = 'gzip';
else
$encoding = false;
if( $encoding ) {
$contents = ob_get_clean();
$_temp1 = strlen($contents);
if ($_temp1 < 2048) // no need to waste resources in compressing very little data
print($contents);
else
{
header('Content-Encoding: '.$encoding);
print("\x1f\x8b\x08\x00\x00\x00\x00\x00");
$contents = gzcompress($contents, 9);
$contents = substr($contents, 0, $_temp1);
print($contents);
}
}
else
ob_end_flush();
}
?>
我的问题很简单:该行
print("\x1f\x8b\x08\x00\x00\x00\x00\x00");
实际上意味着什么?
提前谢谢
答案 0 :(得分:3)
这是gzip格式文件的标头。您可以查看更多详细信息here。
前两个字节将文件标识为gzip。以下8
指定使用DEFLATE
压缩方法。最后四个零字节用于不需要的字段。