Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$accept_encoding = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : $_SERVER['HTTP_TE'];
$accept_encoding = explode(',', $accept_encoding);
foreach ($accept_encoding as $encoding)
{
$encoding = trim($encoding);
if ($encoding == ('gzip' || 'x-gzip'))
{
$encoding = 'gzip';
break;
}
if ($encoding == 'deflate')
{
break;
}
}
$this->encoding = $encoding;
if ($this->encoding == 'gzip')
{
$buffer = gzencode($Source, $this->compressionLevel);
}elseif ($this->encoding == 'deflate')
{
$buffer = gzdeflate($Source, $this->compressionLevel);
}else
{
$buffer = $Source;
}setHeader('Content-Encoding', $this->encoding);
setHeader('Vary', 'Accept-Encoding'); if (!headers_sent() && extension_loaded("zlib") && !empty($Source) && (isset($_SERVER['HTTP_ACCEPT_ENCODING']) || isset($_SERVER['HTTP_TE'])))
If a browser doesn't support compressed pages this function returns FALSEПотом класс был расширен на предмет того что-бы кешировать полученные страницы в memcached-е, и если в качестве frontend-а используется nginx, то контент отдавался без участия php, а напрямую из memecache
ereg_replace( "[ \t\r\n]{2,}", ' ',
PHP: Уменьшаем исходящий трафик (или изобретаем очередной велосипед)