-
URL短縮サービスと日本語ドメイン
Posted on 8月 4th, 2010 はおりん No comments前々から、独自ドメインなURL短縮サービスは欲しいと思っていたんだよ。でも、正確には、自分専用、というよりも、みんなで使いまわしたかったんだよね。それで、bitly Proだとダメかなぁ、なんて思ったわけである。
作ろうと思えば作れないことはない
URL短縮サービスなんてものは比較的単純なサービスであって、十分なWebサーバ(フロント)と、低レイテンシなデータベース(バックエンド)さえあれば、プログラム的にはそんなに難しくない。画面デザインが云々とか言い出すとどんどん難しくなっていっても、コア部分はそうそう変わらない。
というわけで、YOURLSというオープンソースを持ってきて、多少いじって設置してみた。
アホ毛短縮サービス(仮):マホ.jp 「マホ短」
今回作ったサービス(以下、マホ短)は無料のサービスを予定しており、現在の予定では「マホ.jpを解約するまで」無料サービスとして提供していくつもりである。もちろん、サーバが壊れたりすることもあるので、断言はできないが。
トップページ横にAmazonのアフィリエイトを設置してあるので、アレで20万円くらい稼げたらサーバを増設できるかもしれないwマホ短と、bitlyの最も大きな違いは、日本語ドメインかそうでないか、である。
bitlyでURLを短縮すると、以下のようになる。アホ短だとこうなる。
そう、日本語ドメイン(IDN)を使っているのである。文字数もbitlyの20文字に比べて18文字となっている。(Twitterではマルチバイト文字は1文字とカウントされる)
将来、キーワードが枯渇すると、自動的に6文字、7文字と増えていくので、将来的にはbitlyより長くなるかもしれないが。。。
さらに、実は内部のロジックもIDNに対応している。
例えば、「http://blog.埋もれる抱き枕er.jp/」を短縮すると、となるが、実はこのURLはアクセスできない。bitlyは国際化ドメインの短縮には対応していないようである。
しかし、マホ短だと、アクセスできる!これが、bitlyに無くてマホ短にあるものである。
国際化ドメインとHTTPヘッダ
国際化ドメインにアクセスする際、ブラウザはこれをPunyCodeというワケのわからんもんに変換する。
PunyCodeは英数字しか含まないので、HTTPヘッダ内で正常に処理できる。
実は、URL短縮サービスのようにHTTPヘッダでリダイレクトさせる場合、国際化ドメインはあらかじめPunyCodeに変換しておく必要があるようなのだ。実験で得た結果なので、仕様としてそうなのかどうかは定かではない。
とにかく、サービスのURLそのものが日本語ドメインなのにサービスの内容は日本語非対応なんてイヤだったので、自前で設置することにした。
ソースコードはそんなに複雑ではないので、これからいろいろ改造を施そうと思う。
プログラミングコメントを書く