java 短链跳转原理_给你代码:短链接生成原理
短鏈接,顧名思義就是在形式上比較短的鏈接。最早存在于微博(如新浪微博,t.cn,url.cn)分享網址中。比如這樣的:t.cn/Aidjddvo
短鏈接的好處
內容需要(比如短信,微博中鏈接字數的限制);便于管理(方便后臺跟蹤點擊量,便于統計);用戶友好(看起來很Cool,提升用戶體驗)大致思路是定義一個URL映射算法,將長的URL映射到短的URL,使用數據庫或緩存文件存儲映射關系,實現映射算法。其中關鍵部分在于映射算法,接下來我們就詳細說下映射算法。
映射算法
function shorturl($url) {
$x = sprintf(‘%u’, crc32($url));
$str = ”;
while($x > 0) {
$s = $x % 62;
if($s > 35) {
$s = chr($s + 61);
} elseif ($s > 9 && $s <= 35) {
$s = chr($s + 55);
}
$str .= $s;
$x = floor($x/62);
}
return $str;
}
專屬中轉服務器
如果自己想搭建一個類似于http://url.cn的短鏈接生成服務器,需要將所有請求重寫到處理腳本:
RewriteEngineOn
RewriteBase/
RewriteRule. index.php
短鏈接存儲方案
因為存儲后端實現方式不一,主要思路是將生成的短鏈接標識存儲到數據庫:
$url =’https://www.kunquer.com’;
$key = shorturl($url);
insert into url(`key`, url) values($key, $url);// 插入到數據庫
查詢思路如下:
$uri = trim($_SERVER[‘REQUEST_URI’],’/’);// 短鏈接標識
$data =select*from url where`key`= $uri // 從數據庫中讀取結果header(‘Location: ‘.$data->url);// 重定向到真實鏈接
以上。
總結
以上是生活随笔為你收集整理的java 短链跳转原理_给你代码:短链接生成原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java分布式 mq_分布式系统消息中间
- 下一篇: mysql性能调优与架构设计 51cto