#TODO
·
PHPで生成されたページにContent-Lengthを出力する / 住所検索 / RSS1.0のMIMEタイプ / PHPであることを示すヘッダを削除
PHPで生成されたページにContent-Lengthを出力する
- Apacheのフィルタを使う
- PHPのアウトプットハンドラを使う
- スクリプト内でContent-Lengthを出力する
すべてのスクリプトでContent-Lengthを出力するは面倒なので既存のフィルタでなんとかならないか試してみる。
結果は、INCLUDESフィルタではContent-Lengthは付加されず、DEFLATEフィルタでは圧縮されたときにしか出力されない。つまり相手がHTTP/1.1でAccept-Encodingにdeflateが含まれているときのみ。そんなリッチなクライアントにだけ出力するのでは意味がない。
アウトプットハンドラはまだ試してない。
結局PHPスクリプトに
header('Content-Length:' . strlen($content));
を加えて対処した。
一箇所変更するだけで90%以上のページには反映されるが、残り数パーセントの単体のスクリプトにも変更を加えないと。
住所検索
RSS1.0のMIMEタイプ
- text/xmlだとブラウザ(IE)がXMLとして表示してくれる
- 仕様ではapplication/xmlを推奨しているRDF Site Summary (RSS) 1.0 (specification)和訳]
- 将来的にはapplication/rdf+xmlになるらしいRFC 3023 - XML Media Types]
- Bulkfeedsさんはtext/xmlだった
PHPであることを示すヘッダを削除
X-Powered-By: PHP/4.3.4
余計なのでphp.iniを変更して出力しないようにした。
expose_php = Off
今まで.htaccessに設定していたが、まったく無意味だった。php.iniかhttpd.confに設定する必要がある。