Большинство сайтов хотят сжать свой контент, чтобы сэкономить на пропускной способности. Однако, когда дело доходит до серверов Apache, работающих на PHP, есть два способа сделать это - с PHP или с Apache. Так какой из них быстрее или проще на вашем сервере?
Например, в PHP я запускаю следующую функцию в начале своих страниц, чтобы включить ее:
/**
* Gzip compress page output
* Original function came from wordpress.org
*/
function gzip_compression() {
//If no encoding was given - then it must not be able to accept gzip pages
if( empty($_SERVER['HTTP_ACCEPT_ENCODING']) ) { return false; }
//If zlib is not ALREADY compressing the page - and ob_gzhandler is set
if (( ini_get('zlib.output_compression') == 'On'
OR ini_get('zlib.output_compression_level') > 0 )
OR ini_get('output_handler') == 'ob_gzhandler' ) {
return false;
}
//Else if zlib is loaded start the compression.
if ( extension_loaded( 'zlib' ) AND (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) ) {
ob_start('ob_gzhandler');
}
}
Другой вариант - использовать Apache deflate или gzip (оба очень близки ). Чтобы включить их, вы можете добавить что-то подобное в ваш файл .htaccess.
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
Поскольку PHP является языком сценариев (который должен загружаться PHP), я бы предположил, что метод apache будет 1) более стабильным и 2) более быстрым. Но предположения не имеют большого смысла в реальном мире.
В конце концов, вы бы предположили, что с огромными финансовыми окнами поддержки ... э-э , мы туда не пойдем.