リンク先の永続性

JavaAPI最新版へのURLができた

The Java Tutorials' Weblogより。


Java APIドキュメントのトップページのURLは、JDK5とJDK6で次のようになっています*1

JDK5
http://java.sun.com/j2se/1.5.0/docs/api/
JDK6
http://java.sun.com/javase/6/docs/api/index.html

ただし、「現時点で最新版のAPIドキュメント」を参照するURLがありませんでした。
そこで、常に「最新版のAPIドキュメント」を指すURLとして、"http://java.sun.com/javase/current/docs/api/index.html" が新たに用意されました(日本語版は"http://java.sun.com/javase/ja/6/docs/ja/api/index.html")。

この記事を書いている時点ではJDK6のドキュメントが出てきますが、Java7がリリースされたらJDK7に置き換わるのでしょう。

便利か?

これ、ぱっと見では便利そうだけれども、実はそこまで役には立たないかもしれないんじゃないかと思いました。
たいてい標準APIを参照するような文書を作る場合って、リンク先には「今そこにある仕様」と同じものがあることを期待しているわけで、そのURLが勝手に新しいバージョンの文書を参照するようになっていたら困ります。未来の読み手に、当初の意図と異なる内容を読ませることになってしまう。なので、そういうときはどのバージョンを使うのか指定して参照するものです。
常に最新版の情報が取れることが有用なのは、学習用の文書の場合くらいでしょうか。

関連して思い出したこと

この話に関連して、Wikipediaの記事へリンクを貼るときの話を思い出しました。


たとえば次のような例。

Wikipediaの「ドライカレー」の項目によると、ドライカレーが最初に出されたのは日本郵船の客船「三島丸」の食堂なんだってね!

ここで、リンク先URLは "http://ja.wikipedia.org/wiki/ドライカレー" です*2
このURLって、記事「ドライカレー」の最新版を表しているので、記事が書き換えられるとURLを辿った先にある内容が変わってしまうんですよね。ひょっとしたら、新たな文献が見つかって世界初のドライカレーは違うところで出されてたことになるかもしれない。そうなると、この文章を後から見たときに、リンク先と書いてることが合ってなくて訳が分からないものになってしまいます。


だから、リンク先が記事を書いたときに見ていたもののままであるために、どの時点の記事なのかも指定して次のようにするのが望ましいのでしょう。

Wikipediaの「ドライカレー」の項目(2008年8月29日 06:01の版)によると、ドライカレーが最初に出されたのは日本郵船の客船「三島丸」の食堂なんだってね!

ここで、リンク先URLは "http://ja.wikipedia.org/w/index.php?title=ドライカレー&oldid=21497360" になっています。
Wikipediaは記事の履歴一つ一つにその版固有のURLが付いてるので、こういうふうにすると記事の特定の版を指定できます。これで、将来にわたってリンク先の文章が変わらないことが保証されます*3


このような永続的URLという考え方って、最初知ったときはなるほどと思ったものです。

ちなみに

例にドライカレーを選んだのは、食べたかったからじゃなくて、Wikipediaランダムページで出てきたからです。

*1:なぜかJDK6のほうにだけindex.htmlが付いているのは引用元ママ

*2:URLエンコードは置いておいて

*3:Wikipediaがちゃんと運営されている限り