簡介
短網址服務,可能很多朋友都已經不再陌生,特别是在微博應用中十分普遍,比如,當我們在騰訊、新浪微博發微博時有時發很長的網址連接,但由于微博隻限制140個字,所以微博就自動把您發的長網址給轉換成短網址了。
其實,個人認為短網址不一定真的好記,幾位數字+字符的組合,甚至很難記憶。但無可否認在微博和手機短信提醒等限制字數的地方來使用短網址,的确是一個不錯的方案。
短網址通常使用“比較少字符的網址”+“/”+“代碼”,打開短網址網頁通常會直接跳轉到你要縮短的網址(常見),或者幾秒廣告後在跳轉。比如向百度短網址可以自定義後綴,有些短網址還可以進行泛域名解析,十分方便大家使用。
算法原理
算法一
1)将長網址md5生成32位簽名串,分為4段, 每段4個字節(即32位);
2)對這四段循環處理, 取4個字節(32位), 将他看成16進制串與0x3fffffff(30位1)與操作, 即超過30位的忽略處理;
3)這30位分成6段, 每5位的數字作為字母表的索引取得特定字符, 依次進行獲得6位字符串;
4)總的md5串可以獲得4個6位串; 取裡面的任意一個就可作為這個長url的短url地址;
算法二
把數字和字符組合做一定的映射,就可以産生唯一的字符串,如第62個組合就是aaaaa9,第63個組合就是aaaaba,再利用洗牌算法,把原字符串打亂後保存,那麼對應位置的組合字符串就會是無序的組合。
把長網址存入數據庫,取返回的id,找出對應的字符串,例如返回ID為1,那麼對應上面的字符串組合就是bbb,同理 ID為2時,字符串組合為bba,依次類推,直至到達62種組合後才會出現重複的可能,所以如果用上面的62個字符,任意取6個字符組合成字符串的話,你的數據存量達到500多億後才會出現重複的可能。
操作方法
隻要你會上網就能實現,找到,然後根據網站相應的提示即可操作。一般操作是在轉址站的指定輸入框内直接提交你的長網址即可。
接口介紹
沒有特殊的命令,不同的短網址提供者會有不同的API,這樣你就可以利用到自己的網站上。
當然有的網址也沒有API的。
常用程序
PHP短網址程序通常采用phurl,Phurl是一個基于PHP和MySQL實現的網址縮短服務,程序才19KB,包括後台程序,隻不過是英文的,網上有漢化版的。
還有一種應用較多的是dwz程序,站長論壇裡都能下載,安裝比較方便,界面效果及功能都要比Phurl好一些,Phurl在上傳後對于一些網址會顯示提交的不規範,可能和僞靜态的設置有關,而是用dwz程序基本不會碰到此類問題,而且用起來更方便。



















