扫描二维码 上传二维码
选择防红平台类型,避免链接被拦截
选择允许访问的平台类型

如何高效使用短链接?

快缩短网址(suo.run)是一个旨在简化网址长度的创新平台。最初,短链接主要用于优化网站图片的上传过程,通过特定的算法压缩URL(统一资源定位符),从而减少代码字符数量。

随着移动营销的迅速发展,信息的传播与共享速度相比传统网络模式有了显著提升,分享内容的多样性也推动了短链接服务的兴起。快缩短网址生成器正是为此而生,它能够以简洁的网址代替原本冗长的网址,为用户提供更多可用的正文空间。

短链接的实现原理



短链接主要通过域名重定向技术,将长网址转换为短链接。当用户点击此短链接时,即可自动跳转到相应的长URL地址。域名重定向技术,又称URL转发技术,通过网站服务器或应用程序的设置,引导用户从当前域名跳转到指定目标URL地址。

#### 1. 301、302 转向

在PHP中使用header()函数可实现301(永久性转移)或302(暂时性转移)的重定向。例如:



header('Location: http://mrw.so/', true, 301);


这行代码会向客户端浏览器发送命令,强制HTTP响应代码为301,并替换之前的报头,将重定位地址设为http://mrw.so/



#### 2. META 刷新转向

利用HTML标记<meta>中的REFRESH属性,可以在特定时间后重定向到新网页。例如:

<meta HTTP-EQUIV="REFRESH" CONTENT="5; URL=index.asp">


在等待5秒后,网页将通过刷新的方式重定向到index.asp的网页。

短链接网站的快速搭建



目前,许多个人短链接服务采用PHP的转向方式,并且有许多完整的PHP源码网站可供选择,便于个人搭建自己的短链接网站。Phurl是一款流行的短链接网站源码,通过PHP和MySQL实现网址缩短服务,程序体积仅为19KB,包含建库脚本和后台程序。Phurl的搭建步骤如下:

1. 将Phurl网站文件放置于支持PHP的服务器的相应目录下。
2. 在MySQL中创建一个新的数据库。
3. 导入phurl.sql文件,建立所需的数据库表phurl_settingsphurl_urls
4. 根据自身需求修改config.php文件中的配置信息。
5. 测试功能,通过访问index.php可以对长网址进行缩短处理,短链接则通过redirect.php的处理转向长网址所在的网页。

短链接服务的转换算法



Phurl的转换算法是在本地数据库中将短码和长网址建立一一对应的关系。用户访问短链接时,后台查询对应的长网址,并通知客户端进行页面转向操作。

#### 数据表结构

- phurl_urls数据表存储了id、url、code、alias、date_added字段;
- phurl_settings数据表仅存储last_number字段。



#### 算法实现主要函数

为了尽可能缩短短链接的字符串长度,Phurl采用了更高进制的表示规则。短码code是通过函数generate_code($number)产生的高进制数。函数源码如下:

function generate_code($number) {
$out = "";
$codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
while ($number > 53) {
$key = $number % 54;
$number = floor($number / 54) - 1;
$out = $codes[$key] . $out;
}
return $codes[$number] . $out;
}




函数中自定义了由数字和大小写字母组成的54位字符串,每个字符代表54进制中的0-53。如果用上述54进制表示,则4个字符长的短码可以表达850多万条记录,6个字符长的短码可以表达247亿多条记录。

长网址转短码的一般流程



1. 在phurl_urls表中查找是否存在该长网址记录,有则返回对应的短码;
2. 无记录则取phurl_settings表中last_number进行高进制转换得到短码;
3. 在phurl_settings表中last_number加一并备以后使用;
4. 在phurl_urls表尾插入短码及长网址对应的新记录。

根据Phurl的算法,短码无规律可言,短链接和长网址之间不存在文本上的关联关系。由于高进制对应字符串的不同,以及短链接请求的先后顺序不同,会导致同样使用Phurl的不同网站对同一长网址的处理结果有所不同。