Windows Live Spaces が HTML でさえないカオスを XHTML として配信している
無駄に長いです。飛ばしエントリなので、真面目に読まないでください。
Windows Live Spaces というマイクロソフトのサービスがあります。Windows Live の一角を担い、国際化もされているそれなりに大きな規模のサービスだと思います。
さて、そのマークアップを見てみますと、これが「ボケてるんだ、ツッコんでくれよ。」と言わんばかりの、これ見よがしに異常なカオスっぷりで、HTML ではない何かを大量生産しております。何も言いますまい。釣られません。「なかなかのケイオスだ。だが断る。貴様が text/html である限り。」
どんだけカオスか気になるという人、「続きはウェブで。」
それは 4 月 22 日の深夜でした。Firefox で Windows Live Spaces のブログを開くと、XML パースエラーを起こしてしまい、正常に表示できません。もちろん以前は問題ありませんでした。なんと、こともあろうか XHTML 普及の宿敵であるマイクロソフトが、HTML でさえない何かを、自社のウェブブラウザでさえ対応できていない application/xhtml+xml で大量に配信し始めたのです。これは釣られてでも追求せずにはいられません。
でもそんなはずはありません。もし誤ってそんな変更をしたとしても、数分で世界中から苦情が寄せられ、一時間もすれば text/html に戻すはずです。そこで Internet Explorer 7 にて同ブログにアクセスしてみると、やはり text/html として正常に開くことができました。自社のウェブブラウザを優遇し、他の排除を始めたのかと思いましたが、さすがにそれはないだろと思い直し、もう少し詳細に調査してみました。何より人のブログが正常に開けないのは不便ですからね。
まずリクエストの Accept ヘッダを疑いましたが、無関係でした。中略、Windows Live Spaces が User Agent 文字列のホワイトリスト方式で振り分けを行っていることが判りました。IE や Fx, Opera や例えば “oreoreMozilla(compatible; MSIE 012.34” なども白でした。PCRE 的には多分 /Mozilla[^(]*\(compatible;\ MSIE\ \d+\.\d+/ のような感じです。
ちなみに私の Firefox が黒判定された理由は、ブランディングの権利関係からユーザエージェント文字列が “Firefox” ではなく “BonEcho” だったためです。仕方なく about:config から general.useragent.* を上書きしました。Minefield や Gran Paradiso, Iceweasel, Flock などはどうなのかも気になるところも駄目でした。。そんな酔狂な UA を使ってる奴の自己責任と言えばそうなのですが、ホワイトリストはしっかりして欲しい……
ウェブアプリケーション開発者は已む無くユーザエージェント文字列のみで振り分けを行なわなくてはならない場合、ブランディングも含めて厳密に Fx である必要がなければ、“Firefox” ではなく Gecko エンジンとそのリビジョンで判定して欲しいです。IE を “Mozilla/4.0” ではなくコメント部の “compatible; MSIE” で判定するのと同様です。
- Gecko 1.7
- Fx1 相当
- Gecko 1.8.0
- Fx1.5 相当
- Gecko 1.8.1
- Fx2 相当
- Gecko 1.9
- Fx3 相当
最近では Google が LWP を排除していることが一部で話題になりましたが、その是非は別として、それは libwww-perl を対象としたブラックリスト方式です。そもそも拒否なら理由は明白ですが、Content-Type: application/xhtml+xml; charset=utf-8 にする意味が解りません。「Firefox ツカエネェ!」って扇動する地味な嫌がらせ?
そして最後に、Googlebot もこの変更に大きく影響を受け、Google 検索の結果に興味深い変化があったことを付け加えておきます。4 月 22 日当時と 30 日現在では、まったく異なった検索結果になっています。当時は当然のように日本語が並びましたが、現在はなぜか中国語が並んでいます。件数は日本語対象の検索で 22 日の約 180 万件から 30 日の約 23 万件に激減しています。
- タグ
- Firefox
- Internet Explorer
- Microsoft
- User Agent
- Windows Live
- XHTML
- 公開日時
- 2007-04-30T09:41:22+09:00 @070
- 更新日時
- 2007-05-01T07:30:22+09:00 @979
- Permalink URI & TrackBack URL
- http://blog.drry.jp/2007/04/30/windows-live-spaces-xhtml
コメント ( 2 )
はじめてコメントさせていただきます。
いま試してみましたが、うちのFirefoxではダメですね。
XML Parsing Error起こします。application/xhtml+xmlなのも同様。
User Agentはこうなってます。
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.3) Gecko/20070320 SUSE/2.0.0.3-11.1 Firefox/2.0.0.3
Konquerorでは問題なく見ることができました。
ただしこちらの場合でもContent-typeはapplication/xhtml+xmlでした。
Mozilla/5.0 (compatible; Konqueror/3.5; Linux; X11; x86_64; ja) KHTML/3.5.6 (like Gecko)
情報ありがとうございます。
どうやらコメント内でさらに丸括弧がネストされている部分
(x86_64)と、Gecko と Firefox の間に挟まれている SUSE の 2 ヶ所がまずいようですね。例えばMozilla/5.0 (X11; U; Linux i686 x86_64; en-US; rv:1.8.1.3) Gecko/20070320 Firefox/2.0.0.3 SUSE/2.0.0.3-11.1ではtext/htmlになりました。