網址縮短的發展歷史其實不長,他的出現主要是基于微博(如新浪微博,,)、短博客、移動營銷的崛起而發展起來的。在這些環境中,過長的網址使得用戶視覺體驗度極差網址縮短哪個好用網址縮短哪個好用,所以有必要將很長的網址進行縮短。那么網址縮短的原理是什么呢?下文將簡要介紹一下。
網址縮短的工作原理主要有兩種形式
1、將原網址通過MD5轉化成一串小字母,這種方法簡單,但是這種算法是不可逆的,所以別想著直接反轉短地址,如果你想深入了解這種算法,可以百度“MD5”+”網址縮短”
2、數據庫類型的存儲式,通過給每個長網址自動分配ID和CODE來實現網址的轉換,然后當用戶訪問時,通過查詢數據里面ID和CODE對應的原網 址,實現實時跳轉。這種方式是可逆的,而且便于管理和統計,目前主流的網址縮短程序都是應用的這種方式,如:phurl,yourl,suo.nz網址縮 短
PHP實現網址縮短的代碼如下:
() {
$ = (" FROM ".."") or (, , ());
$ = ($);
$[0];
}
() {
(" ".." SET = ( + 1)") or (, , ());
(() > 0) ? true : false;
}
($code) {
$ = (" COUNT(id) FROM ".."urls WHERE code = '$code'") or (, , ());
$ = ($);
($[0] > 0) ? true : false;
}
($alias) {
$ = (" COUNT(id) FROM ".."urls WHERE alias = '$alias'") or (, , ());
$ = ($);
($[0] > 0) ? true : false;
}
($url) {
$ = (" id, code, alias FROM ".."urls WHERE url LIKE '$url'") or (, , ());
if (($) > 0) {
($);
}
false;
}
($) {
$out = "";
$codes = "";
while ($ > 53) {
$key = $ % 54;
$ = floor($ / 54) - 1;
$out = $codes{$key}.$out;
}
$codes{$}.$out;
}
($url, $code, $alias) {
(" INTO ".."urls (url, code, alias, ) ('$url', '$code', '$alias', NOW())") or (, , ());
();
}
($id, $alias) {
(" ".."urls SET alias = '$alias' WHERE id = '$id'") or (, , ());
}
($alias) {
$ = (" url FROM ".."urls WHERE code = '$alias' OR alias = '$alias'") or (, , ());
if (($) > 0) {
$ = ($);
$[0];
}
false;
}
() {
$data = ();
$data['host'];
}
() {
$ = ();
("/.([^/]+)/", $, $);
$[1];
}
原文來自:短網址