ほとんどのサイトでは、帯域幅を節約するためにコンテンツを圧縮したいと考えています。しかし、PHPを実行しているApacheサーバには、with PHPまたはApacheを使用する2つの方法があります。だからあなたのサーバー上でより速くて簡単ですか?例えばPHPでコンテンツを圧縮するob_start()vs Apache Deflate/Gzip?
、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');
}
}
other optionは、Apache deflate or gzip(very closeである両方)を使用することです。それらを有効にするには、このようなものを.htaccessファイルに追加することができます。
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
PHPは(PHPによってロードされなければならない)スクリプト言語であるので、私はApacheの方法は1であろうと仮定します)より安定と2)より速いです。しかし、仮定は実世界ではあまり使われていません。
結局のところ、巨額の財政支援窓口には... uhがあると思われます。
+1:私はあなたのトラフィックはほとんど処理していませんが、サーバーがそれを処理することも好きです。 1つまたは2つの注意点があります。特定の種類のサウンドファイルを圧縮しないでください。そうでない場合、メディアプレーヤーがそのファイルを圧縮します。これには、mp3ファイルを含むWindows Media Playerが含まれます。 – Powerlord
この問題はMedia Player 8で発生しましたが、今修正されている可能性があります。 – Powerlord
一般的に、私はtext/*型の項目だけを圧縮し、残りの部分を得るためには、いくつかのコンテンツタイプ(application/jsonなど)を選択します。 – preinheimer