30000ブクマ目(プライベート含むw)
はてなダイアリーの書き方忘れた…といってもここで更新できるのもあと数日か。
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 | |
Opera(〜12), w3m | 問題なし |
なお、サーバから「Content-Type: text/html」が返された場合はエラーとなりません。
症状が確認できるURL例
(12/7 いずれも正常に表示されるようになりました。ただしXHTML 1.1 Invalidな状態は続いています)
原因
Wayback Machineでページを表示するとページの上部にツールバーが表示されるのですが、これを構成するパーツがXHTML Invalidとなっています。以下の事象が確認されています。(12/7 下記の事象は全て解消されました)
- 一部inputおよびimg要素が空要素指定されていない(/>で閉じられていない)
- strong要素が閉じられてない
- script要素においてスクリプトの内容がCDATAセクションでない上に「&&」の文字を含んでいる
回避策
id_(およびim_)をURL中の指定の場所に付加した場合はツールバーが表示されませんので、これで回避可能です。
- http://web.archive.org/web/20140420185608id_/http://studyinghttp.net/rfc_ja/rfc2616
- http://web.archive.org/web/20140830120027id_/http://www.w3.org/TR/2002/WD-XHTMLplusMathMLplusSVG-20020809/sample.xhtml
ちなみにこれの存在は
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 7、Opera 12.12)、パスワードが100件保存されているwand.datがある場合はレンダリングに3秒かかりましたが、これを退避した場合は0.5秒まで短縮されました。
最近自作スクリプトによるDOMのレンダリングがOperaだけ異様に重いように感じていて、原因を調べていたのですが、まさかwand.datが原因だとは予想だにしませんでした…
今日買ってきた本
- WEB+DB PRESS Vol.70
- 作者: 成田一生,高津戸壮,はまちや2,佐藤裕介,久森達郎,大窪聡,本田謙,和田英一,天野祐介,藤吾郎(gfx),奥野幹也,川添貴生,Dr.Kein,近藤宇智朗,後藤秀宣,mala,中島聡,森田創,堤智代,A-Listers,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2012/08/24
- メディア: 大型本
- 購入: 8人 クリック: 89回
- この商品を含むブログ (15件) を見る
- 初めてのPerl 第6版
- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/25
- メディア: 大型本
- 購入: 7人 クリック: 22回
- この商品を含むブログ (17件) を見る
購入を見合わせた本
- JavaScript 第6版
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (18件) を見る
- めんどうくさいWebセキュリティ
- 作者: Michal Zalewski,上野宣,新丈径
- 出版社/メーカー: 翔泳社
- 発売日: 2012/06/19
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 120回
- この商品を含むブログ (2件) を見る
Masato Kinugawaさんの書評を参考に改めて購入を検討しようかと。