短链生成是什么(短链接生成原理)

短链接,顾名思义就是在形式上比较短的链接。最早存在于微博(如新浪微博,http://t.cn,http://url.cn)分享网址中。比如这样的:http://t.cn/Aidjddvo

短链接,顾名思义就是在形式上比较短的链接。最早存在于微博(如新浪微博,http://t.cn,http://url.cn)分享网址中。比如这样的:http://t.cn/Aidjddvo

短链生成是什么(短链接生成原理)

短链接的好处

  1. 内容需要(比如短信,微博中链接字数的限制);
  2. 便于管理(方便后台跟踪点击量,便于统计);
  3. 用户友好(看起来很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的短链接生成服务器,需要将所有请求重写到处理脚本:

RewriteEngine On
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); // 重定向到真实链接

以上。

本文系发布者爱跨境 发表,本站仅提供信息存储空间服务。

本文为作者独立观点,不代表羽毛出海立场,转载请注明出处:https://www.salesba.com/archives/31473

(0)

相关推荐

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:mail

工作时间:周一至周五,9:30-18:30,节假日休息