n2s アーカイブス

「 【えぬ】〜Theme of えぬ〜 にまつわるはてダ」のアーカイブです。気が向いたら復活するかもしれません。

Internet Archive(Wayback Machine)で「Content-Type: application/xhtml+xml」なページの表示がエラーになる件とその回避策(12/7対策を確認したので追記)

12/7追記

「先方に報告したい(キリッ」と言っているうちに問題が発生したブラウザ全部で表示されるよう直っていました。

症状

Content-Type: application/xhtml+xml なコンテンツをWayback Machineで表示しようとすると、多くのブラウザでXMLパースエラー等により表示されません。12/7 直りました

IE 空のページのみ表示
Firefox, Chrome XMLパースエラー問題なし
Opera(〜12), w3m 問題なし




なお、サーバから「Content-Type: text/html」が返された場合はエラーとなりません。

原因

Wayback Machineでページを表示するとページの上部にツールバーが表示されるのですが、これを構成するパーツがXHTML Invalidとなっています。以下の事象が確認されています。(12/7 下記の事象は全て解消されました)

  • 一部inputおよびimg要素が空要素指定されていない(/>で閉じられていない)
  • strong要素が閉じられてない
  • script要素においてスクリプトの内容がCDATAセクションでない上に「&&」の文字を含んでいる

回避策

id_(およびim_)をURL中の指定の場所に付加した場合はツールバーが表示されませんので、これで回避可能です。

ちなみにこれの存在は
Internet Archive総合 (web.archive.org) #1
経由で
Help:Using the Wayback Machine
において説明されているのを知りました。

最後に

そもそもの発端は、残念ながら閉鎖された「Studying HTTP(Internet Archive, はてなブックマーク)」にあったRFC2616の和訳を見ようとしたことでした。
ブラウザがパースエラーを返してしまうため、ちゃんと見るにはOpera 12が必要でした(うーん、無駄に優しいなぁ、Opera 12)。
その時は、どこが問題なのかちゃんと検証することもなく放置してしまっていたのですが、後日Wayback Machineでは「charset=x-sjisといった非公式なcharsetを指定したコンテンツが文字化けしてしまう」という問題が取りざたされ(現在は対策されました)、それに関する2chでの議論で示されていた回避策が前述の「id_」でした。
先に挙げたRFCの和訳を見るという需要はこれで十分に満たしていましたし、またツールバーも貼り付けず、文字コードも変換しないことから「各日本語訳の配布は、該当文書に一切の改変を加えない事を条件とします(Internet Archive)」という訳者からの要望をより的確に叶えるものであったと考えています。
なお、回避策こそあるものの、パースエラーが発生する原因はサービス側で修正する必要があるため、「ここをこういう風に直してほしい」という資料を用意して、後ほど先方に連絡したいと思っています。

Operaのwand.datはちょっと大きくなっただけでもパフォーマンスに大きく影響する

wand.datに少なくとも100件近くパスワードを保存している方は、
https://gist.github.com/4484882
からHTMLファイルをダウンロードし、ローカルで開いてみてください。
「start」をクリックしてから大量のボタンがレンダリングされるまでどれだけ時間がかかるか調べてください。
他のブラウザに比べ、Operaで開いたときは妙に時間がかかるはずです。

次に、Operaのプロファイルディレクトリ上のwand.datを退避した状態で再度Operaを起動、前述のファイルを開き、「start」をクリックしてレンダリング時間を計測してください。
他のブラウザと同じぐらいの速さでレンダリングされるはずです。

自分の場合(Core i5-660、Windows 7Opera 12.12)、パスワードが100件保存されているwand.datがある場合はレンダリングに3秒かかりましたが、これを退避した場合は0.5秒まで短縮されました。

最近自作スクリプトによるDOMのレンダリングOperaだけ異様に重いように感じていて、原因を調べていたのですが、まさかwand.datが原因だとは予想だにしませんでした…

今日買ってきた本

WEB+DB PRESS Vol.70

WEB+DB PRESS Vol.70

  • 作者: 成田一生,高津戸壮,はまちや2,佐藤裕介,久森達郎,大窪聡,本田謙,和田英一,天野祐介,藤吾郎(gfx),奥野幹也,川添貴生,Dr.Kein,近藤宇智朗,後藤秀宣,mala,中島聡,森田創,堤智代,A-Listers,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/08/24
  • メディア: 大型本
  • 購入: 8人 クリック: 89回
  • この商品を含むブログ (15件) を見る
fujisanデジタル雑誌マダァ?(・∀・ )っ/凵⌒☆チンチン

  • 初めてのPerl 第6版

初めてのPerl 第6版

初めてのPerl 第6版

第5版買ったかどうか忘れた(えー

購入を見合わせた本

JavaScript 第6版

JavaScript 第6版

jQueryがサイ本で取り上げられるようになったのがすごい。

  • めんどうくさいWebセキュリティ

めんどうくさいWebセキュリティ

めんどうくさいWebセキュリティ

徳丸さんにdisられていたというあいまいな記憶(実際の徳丸さんの指摘)から購入を控えてしまいました…
Masato Kinugawaさんの書評を参考に改めて購入を検討しようかと。