人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

TinyURL(http://tinyurl.com/)って、どうやって圧縮してると思います?

・URLから可逆的なキーを作っている。
(これだったらすごいんですけど(;´∀`))

・URLから非可逆なキーを作っている。
URLとキーの対応表(マップ)を別に持っている

・URLとは関係なくキーを作っている
URLとキーの対応表(マップ)を別に持っている

・その他

こうこう、こういうロジックで圧縮してるんじゃない?というのが推測可能な方はそれもお願いします。

●質問者: katsube
●カテゴリ:インターネット ウェブ制作
✍キーワード:TinyURL URL マップ ロジック 対応
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● くまっぷす
●27ポイント

http://en.wikipedia.org/wiki/TinyURL

この解説があっているかどうかはわからないのですが、非可逆なハッシュ(tinyURL)を生成、登録先をデータベースにしまっておいてそのハッシュで引く、と書いてありますね。

◎質問者からの返答

#英語のWikioediaは見ていませんでした(^^;

なるほど。

さすがにあの短さで可逆なハッシュは無理なんでしょうねぇ。


引き続きご意見などを募集します。こうやってんじゃない、というのを推測でもちろんかまわないのでお書込みください。

※ハッシュ生成方法などについても

同様です。


2 ● SevenS
●27ポイント

圧縮ではないと思います。

恐らく内部に対応表を持っているのでしょうが、キーの作り方はなぞですね。

地図サイトで適当な箇所を表すURL(緯度・経度)を少し変えて登録すると、IDは連番になることなく、しかも同じ6桁でした。

関係なくキーを作ったのなら、恐らくIDは連番になるでしょうが、そうならなかったことを間gなえると、上記の選択肢では

URLから非可逆なキーを作っているのではないかと思います。

IDからURLが求められれば、あとはリダイレクトすればいいだけですからね。

http://tinyurl.com/315159]

ちなみに結果は「Error: Unable to find site's URL to redirect to.」となります。

可逆ならどこかのサーバにアクセスし、404かブラウザがエラーをはくでしょう。

◎質問者からの返答

回答ありがとうございますー。


あまり質問者が言うとあれなのですが、ランダムな順列を作って、それを頭から順番に使っているとか考えると本当に謎なんですよね(笑)


ご回答いただいたとおり、やはり連番ぽさはないですよねぇ。TinyURLが独自のロジックで、おそらくURLを用いて作成しているというニオイが強そうですねぇ。


3 ● くまっぷす
●26ポイント

単純にハッシュ計算をしているのではないかと思います。

36進数(0-9,A-Zの36文字を使う)6桁なのでだいたい22億通りのURLを表現できるわけで、一様に分布するハッシュ関数であれば同じ文字列が出る可能性は低いのであらかじめ乱数列を決めておくという必要はありません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ