HTMLでインターネットを残すのはやめたほうがいいという話
TL;DR
PDF、あるいはXMLやJSONのような「意味を記述したデータ」のかたちで、インターネットを残しましょう。
はじめに
はてな村で以下漫画を読みました。
私は長いことインターネットをやってきましたが、もはや現代のインターネットは30年前とは全く異なる技術で動いているので、HTMLでインターネットを残すのはやめたほうがいいという話をします。
元凶はWHATWG
いきなり過激な見出しですが、話の根幹なのでご容赦ください。
かつて、HTMLの仕様はW3Cという団体がバージョンとして策定していました。
HTML 4.01、XHTML 1.0、といった具合に。
これはつまり、ある時点で「これが完成形です」というお墨付きが与えられ、そのバージョンに準拠していれば、将来にわたってある程度の互換性が期待できる、という考え方でした。
文書のアーカイブとしては、非常に理にかなっています。
しかし、そこに風穴を開けたのが、Apple, Mozilla, Operaなどが結成したWHATWGです。
彼らは「ウェブは止まらない、常に進化し続けるべきだ」という思想のもと、「Living Standard(生きている標準)」という概念を打ち出しました。
結果として、HTMLにはもはやバージョン5以降の明確なバージョン番号は存在せず、日々刻々と仕様が変更・追加され続けています。
これが何を意味するか。
特定の時点で保存したHTMLファイルが、5年後、10年後のブラウザで同じように表示される保証は、存在しません。
さらに、現代のHTMLはJavaScriptと密結合し、単なる文書構造の記述言語から、ウェブアプリケーションの実行環境を定義するための言語へと変貌を遂げました。
canvasタグでグラフィックを描画し、WebAssemblyでネイティブコード並みの処理を行い、複雑なDOM操作でUIが動的に変化する。
もはやこれはハイパーテキストではなく、ただのアプリケーションです。
そんな複雑怪奇なアプリケーションのソースコードを保存したとして、それが未来で再現できると本気で信じているのでしょうか?
私には無理です。
中央集権型には終わりがある
話を少し広げましょう。
今、皆さんが書いているブログやSNSの投稿は、どこにありますか?
おそらく、はてなやnote、あるいはX (旧Twitter) の巨大なデータベースの中でしょう。
私たちが愛したYahoo!ジオシティーズがサービスを終了したように、どんなに巨大なプラットフォームにもいつか終わりが来ます。
そのとき、あなたの書いた何千もの記事や投稿はどうなるでしょうか。
運営会社がエクスポート機能を提供してくれればラッキーですが、その保証はありません。
サービス終了のアナウンスと共に、あなたのデジタルな人格の一部はインターネットの藻屑と消えるのです。
「Internet Archiveがあるじゃないか」という声も聞こえてきそうです。
彼らの活動は本当に素晴らしいものですが、それでも万能ではありません。
課題は二つあります。
一つは、Internet Archive自身もまた一つの組織であり、未来永劫サービスが続く保証はどこにもないという点。
そしてもう一つは、技術的な限界です。
先述の通り、JavaScriptを多用した現代の動的なサイトを完璧に魚拓として保存するのは至難の業なのです。
彼らの偉大な努力をもってしても、こぼれ落ちてしまうデータはあまりにも多いのです。
では分散型はどうですか?
中央集権型がダメなら、分散型だ!
ということで、ActivityPub (Mastodon, Misskeyなど) やBlueskyといった分散型プロトコルが注目されていた時期がかつてありました。
これらの思想は、特定の企業にデータを独占させず、ユーザー自身がデータをコントロールできるようにしよう、というものです。
サーバーを自分で立てたり、引っ越したりできる自由は、インターネットが本来持っていたはずの輝きを取り戻す一助となるでしょう。
しかし、問題の本質は解決しません。
サーバーを維持できず、中央集権型より早くサービスは終了しますし、これらのプロトコルで交換されている情報の多くは、結局のところ、クライアント側でHTMLとしてレンダリングされることを前提とした断片的なデータです。
ここでもやはり、今のクライアントで見える見た目が保存の対象となりがちで、10年後にそのデータが同じように解釈されるかは未知数です。
意味を保存するということ
では、どうすればいいのか。
答えは、ウェブの創始者ティム・バーナーズ=リーが提唱した、ある壮大な夢に立ち返ることで見えてきます。
それは「セマンティック・ウェブ」という思想です。
これは、ウェブ上の情報を、人間が読むためだけでなく、コンピュータのプログラムがその意味を理解し、自動的に処理できるようにしようという考え方です。
100年後のAIが、我々の残した膨大なテキストデータの意味を正確に解釈し、新たな知識を発見する未来を想像してみてください。
それを可能にする鍵が、意味の保存なのです。
HTMLが見た目を記述する言語なら、我々が残すべきは意味を記述するデータです。
方法1:見た目と構造を凍結する (PDF/A, PDF/UA)
まず、「作成した時点のままの状態で保存する」というアプローチです。
その最適解はPDFですが、ただPDFにするだけでは不十分です。
PDF/A (Archive)
電子文書の長期保存を目的とした国際規格です。
将来の環境でも同じ「見た目」が再現できるよう、フォントの埋め込みを必須にする一方、JavaScriptのような動的要素を禁止するなど、厳格なルールが定められています。
PDF/UA (Universal Accessibility)
さらに本質的なのが、この規格です。
これはスクリーンリーダーなどの支援技術のために、文書の意味構造を保証します。
見出しはどれか、段落の始まりと終わりはどこか、表のセルは何を意味するのか、といった情報を「タグ」として文書に埋め込むことを要求します。
これはまさに、文書自身のセマンティクスを内部に保存する行為に他なりません。
この2つは対立するものではなく、補完関係にあります。
最も理想的なアーカイブ形式は、長期保存性(PDF/A)と、機械が読める意味構造(PDF/UA)の両方に準拠したPDFなのです。
これは、見た目と意味の両方を凍結させる、極めて強力な方法です。
方法2:データに意味を語らせる (XML, JSON)
ここからが本題です。
後世に残したいのは、単なる文字の羅列ではなく、記事の「タイトル」「本文」「著者名」「公開日時」といった、意味を持った情報の塊のはずです。
XML
XMLの真価は、その名の通り拡張可能である点にあります。
h1タグが見出しであると決まっているHTMLと違い、自分たちでデータの語彙を自由に定義できるのです。
RSSやAtomフィードは、ブログ記事という共通の語彙をXMLで定義した、セマンティック・ウェブの素晴らしい実践例です。
JSON
JSONはそのシンプルさで広く普及しましたが、そのままだとキーと値のペアが何を意味するのかは、プログラムを書いた人の頭の中にしかありません。
この問題を解決するのがSEOでおなじみ「JSON-LD」です。
これは、JSONデータに「これはschema.orgで定義されている『著者』のことです」といった、世界共通の辞書へのリンク情報を埋め込む技術です。
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "HTMLでインターネットを残すのはやめたほうがいいという話",
"author": {
"@type": "Person",
"name": "黒ヰ樹"
}
}
このように書くことで、ただのJSONデータが、機械が意味を解釈できるリンクされたデータ(Linked Data)へと昇華するのです。
データとビューワー(見た目)を分離し、さらにデータ自身にその意味を語らせること。これこそが、情報を永続的に、そして価値ある形で残すための鍵だと僕は信じています。
おわりに
もちろん、HTMLを全否定するつもりはありません。
今この瞬間の情報を世界中の人々に届けるための表示フォーマットとして、HTMLとブラウザは史上最強の組み合わせです。
この記事も、HTMLがなければあなたに届いていません。
しかし、アーカイブ(保存)という観点では、HTMLはあまりにも複雑で、移ろいやすい存在になってしまいました。
あなたの書いた大切なブログ記事、撮りためた写真のアルバム、友人とのやり取り。
それらを100年後の誰かに、あるいは100年後の自分自身に残したいと願うなら、一度立ち止まって考えてみてほしいのです。
本当に、HTMLのままインターネットを残しても大丈夫ですか? と。
参照
米国議会図書館では、創作物の長期保存のための推奨フォーマットに関するガイド「Recommended Formats Statement」を公開しています。
2025年現在、XHTML, HTMLはOOXML, ODFと同じくAcceptable(許容)扱いになっています。
Discussion