1つのHTMLファイルに全てを詰め込む。しかも効率的に読み込める。Gwtarはそんな革新的なフォーマットです。そこで今回は、Gwtarの仕組みと従来のアーカイブ形式との違いを解説します。
Gwtarが解決する3つの課題
Webアーカイブには3つの要件があります。まず静的であること、つまり外部依存がないことです。次に単一ファイルであることです。さらに、効率的な読み込みが可能であることです。しかし、従来の形式は3つ同時に満たせませんでした。たとえば、MHTMLは単一ファイルですが読み込みが非効率です。また、WARC/WACZは効率的ですが複数ファイルが必要です。Gwtarはこの3条件を全て満たす初めてのフォーマットです。
Gwtarの技術的な仕組み
Gwtarは「ギター」と発音します。具体的には、HTMLヘッダーとJavaScript、tarファイルを連結した構造です。また、window.stop()でブラウザの通常読み込みを停止します。そのため、必要なアセットだけをHTTP Rangeリクエストで取得できます。つまり、ギガバイト規模のファイルでも効率的に表示されるのです。さらに、JSON形式のメタデータでファイルサイズやMIMEタイプを管理しています。しかも、SHA-256ハッシュによる整合性チェックも組み込まれています。
開発者はGwernというWeb研究者です。実際、PHPスクリプトでSingleFileスナップショットからGwtar形式に変換できます。また、メディアの再圧縮オプションにも対応しています。さらに、PAR2エラー訂正コードを含められるので長期保存にも適しています。
Gwtarの活用例と制限事項
最大の利点はサーバー側の改変が不要なことです。なぜなら、標準的なHTTP Rangeリクエストだけで動作するからです。また、286MB以上の大規模Webサイトの長期保存にも使えます。さらに、学術研究用のデータセット配布にも適しています。特にリンク切れ対策として完全なアーカイブを残せるのは大きな強みです。
しかし、制限事項もあります。具体的には、JavaScript依存のためブラウザが必須です。また、Cloudflareとの互換性問題が報告されています。さらに、ローカル表示時にセキュリティ制約がかかる場合があります。とはいえ、特殊なソフトウェアが不要で将来互換性が高い点は評価に値します。だからこそ、Webアーカイブに関心のある開発者はチェックしておくべきフォーマットです。
