gzip送信の確認方法
別記事『過度なxml-rss2.phpへのアクセス対策 』に『xml-rss2.php』をgzip圧縮送信する簡易的な方法を記述しました。
実際にgzip圧縮送信が行なわれていることをFireFox拡張機能で確認する方法をメモします。
拡張機能 Live HTTP Headersを使った方法です。生のヘッダ情報を簡単に確認できるので非常に便利に使わせてもらっています。
FireFox 拡張機能 Live HTTP Headers での確認手順
- FireFoxをインストールします。(既にインストール済みの場合、この作業は不要です)
- FireFoxを起動します。
- 拡張機能『Live HTTP Headers』を配布先からダウンロードしインストールします。(『Installation欄』からダウンロードできます)
- FireFoxを再起動します。
- gzip圧縮送信用のコードを追加したxml-rss2.phpへアクセスします。
- FireFoxツールバーから『ツール→ページの情報→Headersタブ』と進みます。
- Response Headers欄中の『Content-Encoding』が『gzip』になっていれば圧縮送信されています。
gzip圧縮送信までの流れ(FireFoxの場合)
- ブラウザがRequest Hederの『Accept-Encoding』に『gzip,deflate』をセットしてWEBサーバへ接続します。
- リクエストを受けたPHPスクリプトでは『ob_start ( "ob_gzhandler" );』により、クライアント(ブラウザ)がgizip圧縮形式を受け取れるか?自動的に判断し、圧縮/非圧縮の処理を行なってくれます。gzip圧縮データを返却する際はResponse Headerの『Content-Encoding』欄が『gzip』等となります。
ブラウザ受信可能なエンコード情報が『Accept-Encoding』に列挙されているということですね。
古いブラウザや、一部のRSSリーダーはgzipに対応していない様です。
