Sponsored Link

HTTP_ACCEPTの表示

テスト1:UAが送出するHTTP_ACCEPTの値を、echo命令で以下に表示

text/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

HTTP_ACCEPTによるecho処理の振り分け

テスト2:application/xhtmlをいう値を見つけたら、echo命令で「xhtml+xml」と表示。そうでない場合、application/xmlがあれば「xml」を、そのいずれでもなければ「None or html」を表示。

xhtml+xml

HTTP_USER_AGENTの表示

テスト3:UAが送出するHTTP_USER_AGENTの値を、echo命令で以下に表示

CCBot/1.0 (+http://www.commoncrawl.org/bot.html)

HTP_USER_AGENTによるecho処理の振り分け

テスト4:Operaという値を見つけたら、echo命令で「Opera」と表示。そうでない場合、「None Opera」を表示。

None Opera

HTTP_ACCEPTとHTTP_USER_AGENTの組み合わせによるecho処理の振り分け

テスト5:HTTP_ACCEPTに「application/xhtml」をいう値を見つけたら、echo命令で「xhtml+xml」と表示。そうでない場合、HTTP_USER_AGENTに「Opera」という値があれば「Opera」を、そのいずれでもなければ「None or html」を表示。

xhtml+xml

※値「Opera」で判断するのは乱暴な気もするけど、日本語の通るOperaはどのプラットフォームのものもapplication/xhtml+xmlに対応しているはずなので、これを利用してOperaの場合もapplication/xhtml+xmlを適用することにする。

将来、万が一PDAや携帯電話のようなロースペックなプラットフォーム向けに日本語が通るOperaが登場した場合、そしてもしもそれがapplication/xhtml+xmlサポートを実装していない場合は、また考えるようにするつもり。

HTTP_ACCEPTとHTTP_USERAGENTによるheader処理の振り分け

テスト6:application/xhtmlという値を見つけたら、header ("Content-type: application/xhtml+xml; charset=euc-jp");を実行し、XHTML用のメディアタイプで送信する。もしもその条件に適合しない場合、Operaという値を探し、同様の処理を実行する。いずれにも当てはまらない場合、従来のtext/htmlを使用する。

各ブラウザーともView HTTP and HTML Sourceの結果を参照のこと。

Mozillaでは「View」メニューから「PageInfo」による確認も可能。

このページのソースを見る