MacBSの日常生活的日記

PHPでgzip圧縮

ブログにいっぱいPHPで出力するブログパーツもどきを付けているので、
これをちょっとでも高速化しておこうと、gzip圧縮をかける処理を調べてみました。
以前からキャッシュはしてあるんですが、サイズも小さい方が良いですからね。

調べてみると、こんな感じのおまじないで対応できるようです。

if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’)) {
    ob_start(“ob_gzhandler”);
}
else {
    ob_start();
}

そんなに劇的なものではないですけど、そこはまぁ気持ちの問題ですね。
なお、実際にgzipが効いてるかどうかはGoogle謹製のFireFoxプラグイン
「PageSpeed」で確認できます。

あと、そのついでにPHP経由で出力されるJavaScriptのキャッシュ有効期間も
設定しておきました。
こちらはHeaderを付けて対応しました。とりあえず10日間くらいで良いかなぁ。

header(‘Cache-control: must-revalidate’);
header(‘Expires: ‘.gmdate(‘D, d M Y H:i:s’, time() + 10*24*3600).’ GMT’);

もっと細かくファイル種別ごとにいろいろ設定したいんですが、レンタルサーバでは
httpd.confがいじれないですからねぇ。
まぁ、一応、メモ代わりのエントリーでありました。

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
武舎 広幸
オライリージャパン 2008-04-11

by G-Tools
モバイルバージョンを終了