2012.09.13
なぜ短縮URLはダメなのか
昨日は「URLの構造とその意味」について、ざっくり解説した。そこであらためて、一昨日の「私はなぜツイッターをやらないのか」で触れた短縮URLについて、なぜそれがダメなのか、説明を試みたい。

短縮URLとは、

http://t.co/なんとか

みたいな形式のURLである(「なんとか」の部分はランダムなアルファベットや数字の並び)。これをクリックすると、その短縮URLサービス(「t.co」の場合はツイッターが運営している)にいったん飛んで、そこから元のURLに自動的にリダイレクトされる。

この短縮URLには、次のような問題がある。

問題1) クリックしてみないと、どこに飛ぶのかがわからない。
問題2) 短縮URLは、元のURLに含まれていた情報を消してしまう。
問題3) 短縮URLと元のURLの対応づけは、そのサービス事業者しか知らない。

問題1)は、もっとも直接的な問題である。短縮URLは、実際にクリックしてみないと、どこに飛ぶのかがわからない。元のURLであれば、ドメイン部分(ホスト名の部分)を見ただけで、有名なサイトなのか、怪しいサイトなのかといったことも、大体わかる。短縮URLになってしまうと、その区別ができない。怪しいサイトではないことがわかっていたとしても、どこに飛ぶのかわからないリンクをクリックするのは、何か落ち着かない。

問題2)も、問題1)とほぼ重なる話である。URLの文字列は、それ自体が、人間にとって意味のある情報を含んでいる。例えば、

http://mojix.org/2012/09/11/why-twitter

という文字列から、どういうことがわかるだろうか。このURLだけでも、「これはmojix.orgというサイト内のページである」「2012/09/11のコンテンツである」「why-twitterというidだから、おそらくツイッターに関する内容である」ということがわかる。どのサイトであっても、こういう情報がURLに含まれているとは限らないが、少なくともいくらかは含まれていることが多い。短縮URLになってしまうと、こういう情報も全部失われる。

問題3)は、短縮URLのいちばん根源的な問題だろう。短縮URLを元のURLに戻すには、その短縮URLサービスにアクセスするしかない。ということは、もしそのサービスがなくなってしまったら、短縮URLの文字列は「無意味」になるのだ。例えば、自分のツイートのログをどこかに保存しておいて、5年後とか10年後に、また見てみたとする。そのとき、リンク先が短縮URLになっていたら、どうなるか。いちいち短縮URLサービスにアクセスしなければ、リンク先がわからないのはもちろん、そもそも、その短縮URLサービスがまだ生きているかどうかもわからない。また、元のURLであれば、ログの中から「mojix.org」配下へのリンクを検索したり、プログラムで自動抽出するといったこともできるが、短縮URLではそれもできない。

短縮URLには、ざっと上記のような問題点があると思う。こうしたことが起きるのは、

原因1) 元のURLと異なるURLを、さらに作っていること
原因2) そのURL形式が「特定のホスト名(「t.co」など)+ランダムな文字列」であること

が原因だろう。ということは、もしこの原因をなくしたり、減らすことができれば、問題は解決したり、改善したりするはずだ。

しかし、まず原因1)のほうは、なくすことができない。短縮URLサービスというものは、元のURLと異なるURLを作るサービスだからだ。

そして原因2)のほうも、なくすことはまず無理だろう。例えばはてなブックマークでは、昨日のエントリ「URLの構造とその意味」に対するブックマークページは、こういうURLになる。

http://b.hatena.ne.jp/entry/mojix.org/2012/09/12/url-kouzou

このようなURL形式であれば、元の

http://mojix.org/2012/09/12/url-kouzou

というURLを、ひと目で導き出すことができる。これならば、もし将来はてなブックマークというサービスがなくなったとしても、

http://b.hatena.ne.jp/entry/mojix.org/2012/09/12/url-kouzou

というURLが「無意味」にならないで済む。

しかしこれは、はてなブックマークのようなサービスだからできるのであって、短縮URLサービスの場合、こうはいかない。短縮URLサービスが、もし

http://b.hatena.ne.jp/entry/mojix.org/2012/09/12/url-kouzou

のようなURLを生み出したら、元のURLより長くなってしまうので、まったく短縮にならない。元のURLより大幅に短くしようと思えば、人間にとっては意味のないランダムな文字列(技術的には「ハッシュ」のたぐい)を使うしかないわけだ。

この話は以前、「名前は「グローバル」「わかりやすい」「ユニーク」の3つを同時に満たすことはできない」というエントリで書いたことがある。名前を「グローバル」かつ「ユニーク」にするためには、人間にとっての「わかりやすさ」は捨てる必要があるのだ。短縮URLというものは、まさに「グローバル」かつ「ユニーク」な名前なので、「わかりやすさ」はあきらめる必要がある。特に、短縮URLの場合は「短い」ことが必須なので、「短く」かつ「わかりにくい」ということで、ランダムな文字列になってしまうわけだ。よって、短縮URLのこういった問題はすべて、いわば「宿命」なのである。


関連エントリ:
URLの構造とその意味
http://mojix.org/2012/09/12/url-kouzou
名前は「グローバル」「わかりやすい」「ユニーク」の3つを同時に満たすことはできない
http://mojix.org/2011/01/25/zooko-triangle