Summary

  • 「Cool URIs don't change」でBerners-Leeは、公開された住所と内部の保存場所を分けるよう説いた。W3Cの年表は、この文章が1998年12月にスタイルガイドへ加えられたと記す。
  • 人名、cgi-bin、ファイル拡張子、下書きか公開済みかという状態、部門の分類や閲覧権限は変わる。長く使うURIにそれらを埋めると、運営側の模様替えが外部のリンク修正作業になる。

倉庫の番地を表札にしない

サイトの改装には理由がある。古いナビゲーションは分かりにくくなり、文書の置き場は増え、担当者も交代する。内部の整理そのものを止める必要はない。Berners-Lee の 1998年の原文が問うたのは、整理のたびに外向きの住所まで変える必要があるのか、という一点だった。ウェブサーバーは同じURIを現在のファイルやプログラムへ結び直せる。外部に見える名前を守るための変換を運営側で引き受ければ、昔の参照はそのまま使える。

公開URIは作った組織の外へ出ていく。他のサイトがリンクし、読者がブックマークに保存し、研究者が書誌に記す。いっぽうファイルの階層、サーバーの構成、編集者の担当表は組織の内側にある。運営側は変更箇所を知っている。外部の人はリンクを開けなくなるまで知らないことが多い。内部で済む作業を公開住所の変更に変えると、事情を知らない人の作業が増える。

原文には、壊れたリンクを生む言い訳が並ぶ。サイトをより良くするために再編した。古い資料の有効性が分からなくなった。ファイルを動かした。Johnが担当を外れJaneが引き継いだ。CGIスクリプトを別のプログラムに替えた。どれも実際の運営業務だ。けれども、その業務の名前をURIの構造に写し込んだことが、後の変更を高くつかせた。公開住所がファイルシステムの写しである必要はない。

Berners-Lee は当時の米国国立科学財団の文書URLを例にした。ある経路には cgi-bin、Perlのスクリプト、文書取得の問い合わせが現れる。別の経路には pubs/1998 と文書番号がある。1998年の文章は、後者の方が将来の変更に耐えやすそうだと評価した。これはURLの設計を比較する材料であり、現在の接続可否を調べた結果ではない。年と文書番号は文書に付く。スクリプト名は、その日の配管に付く。

部署名は文書の寿命より短い

変わりやすいものはプログラム名だけではない。URIに著者名を入れると、引き継ぎ後も元の担当者の名前が残る。draftを入れると正式公開の時点で名前が古くなる。閲覧範囲を「内部」「会員」「公開」と経路で分ければ、公開範囲を変えるたびにリンクが揺れる。.htmlのような拡張子も、将来の表現形式を今の形式で縛る。専用のホスト名さえ、仮のサーバー分担を永久の区画にしてしまうことがある。

作成日なら事情が違う。ある文書が1998年に作られた事実は変わらないため、日付は資料の住所に使いやすい。「最新版」を示すURIは、内容が入れ替わる役割そのものを指すなら意味がある。アーカイブの一件と、いつ見ても最新号へ進む入口は別物だ。運営側は公開時に何を名付けるのか決め、内部の保存方法を変えてもその約束を守る必要がある。

分野別の分類はとりわけ危うい。読者には便利だし、部署にも仕事を割り振りやすい。ところが研究領域や組織の区分は動く。Berners-Lee はW3C内部でも「MarkUp」から「HTML」へ呼び方が変わった例を挙げた。分類名をURIに刻むと、古い分類を抱え続けるか、昔の引用を壊して新しい分類へ移すかの二択になりがちだ。文書の同一性を、いまの組織図の寿命に預けてしまう。

URNという名前だけでは受付は続かない

当時は、持続的な識別子をUniform Resource Name、URNに任せればURLの断絶は気にしなくてよい、という期待もあった。Berners-Lee は、長くURNを維持できる組織ならHTTP URIも長く維持できるはずだと返した。どちらにも名前の管理者、現在の文書への対応表、応答するサーバーと運用費が要る。識別子の呼び名を変えても、古い読者を迎える仕事は消えない。

その仕事は容易ではないとも書いている。当時の一般的な編集ツールには、URI、実ファイル、版、翻訳、チェックサムを一緒に追う機能が十分ではなかった。W3Cのページにも理想から外れる例があった。だからこそ、担当者や権限や保存先を変えても同じ名前を維持できる道具が必要だった。目先の移行を楽にする仕組みだけ作れば、外部のリンク修正が毎回あとから発生する。

W3Cの2004年Webアーキテクチャ勧告は、URIの持続性は所有者の方針と約束による、と明記した。識別子の方式そのものは保証にならない。一貫した表現を返すことや、移転時のHTTPリダイレクトが約束を支える。責任の所在は、住所を発行した側に残る。