j9国际官网-j9九游会真人游戏第一 / / 短链接技术干货分享

普通短链

活码系统

随机短链

跳转微信小程序

更多

短链接技术干货分享-j9国际官网

更新时间:2024-7-30 02:23:10 作者:爱短链

短链接顾名思义就是长度比较短的网址。早期,短链接主要应用在网站的图片上传中,上传网站通过特定的算法缩链接地址,达到减少代码字符数的目的。

随着短信线上营销的快速发展,营销的信息传播、信息分享较之传统的网络形式进一步加速,所分享的内容也呈多样化趋势,使得短链接服务活跃起来。  而短链接生成器正好解决了这种问题,借助短链接生成器可以用简短的网址替代原来冗长的网址,给用户留下更多的正文空间。

1、短链接的实现原理

短链接主要是通过域名重定向技术,将长网址通过一定的算法转换成一个短链接。当用户访问这个短链接时就可以直接跳转到较长的 u r l 地址上。域名重定向技术也可以称为u r l 转发技术,它是通过网站服务器或者各种应用程序的设置,将访问当前域名的用户引导至指定的另一个 url 地址。

短链接生成器通常使用的是 301、302 或者 meta 转向:

1)301、302 转向

使用 php 中的 header() 函数可以实现 301重定向(永久性转移)或 302 重定向(暂时性转移)。

当客户端访问短链接的 php 页面时,服务器端使用header() 函数向客户端发送原始的 h ttp 报头,在 h ttp 数据头中的location段中给出相应的长地址。

header函数说明见表

例:header('location:

http:/ /mrw.so /',true ,301)。表示向客户端浏览器发送命令,强制 h ttp 响应代码为 301,并将该报头替换之前的报头,将重定位地址设为 http:/ /mrw.so

2)meta 刷新转向

利用 h tm l 标记 m e ta 中的 r e fr e sh,设定相应的跳转地址,在特定时间后重定向到新的网页 。例 :h ttp-eq

u iv="r e fr e sh " co n ten t="5; u r l=index.asp">。在等待 5 秒后,网页将通过刷新的办法重定位到index.asp 的网页。

2、短链接网站的快速搭建

目前互联网上许多个人短链接服务都使用 php 的转向方式,互联网也有许多完整的 php 源码网站,方便个人搭建自己的短链接网站。phurl是网上较为流行的短链接网站源码,其通过 ph p 和 m ysq l 实现网址缩短服务,程序仅19k b,包括建库脚本和后台程序。phurl的搭建极为简单,如下所示 :

1) 在支持 ph p 的服务器中,将 phurl网站文件放到需要建立网站的目录下。

2) 在 m ysql 中新建一个数据库。

3) 通过导入 phurl.sql文件,建立所需的数据表 phurl_settings和 phurl_urls。

4) 根据自身需求,修改config.php文件内的配置信息。

5) 进行测试,通过访问 index.php,可以对长网址进行缩短处理,短链接则通过 redirect.php 的处理转向长网址所在的网页。

3、短链接服务的转换算法

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

phurl_urls的数据表中存放了id,url,code,alias,date_added;phurl_settings的数据表中仅存放 last_num ber。id 是自增长的主键,url是长网址,code是短码,alias是别名,date_added是记录添加时间,last_num ber是最后一条记录的整数。

算法实现主要函数如表

为了尽可能缩短短链接的字符串长度,phurl采用了更高进制的表示规则。短码 code 就是是通过函数

generate_code($num ber)产生的高进制数。函数源码如下:

function

generate_code($num ber)

{

$out =

"";

$codes =

"abcdefghjkm npqrstuvwxyz23456789abcdefgh jk

m npqrstuvw

xyz";

while ($num ber

> 53)

{

$key = $num ber

% 54;

$num ber =

floor($num ber / 54) - 1;

$out =

$codes{$key}.$out;

}

return

$codes{$num ber}.$out;

}

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

4、长网址转短码一般流程

1)在数据表 phurl_urls中查找是否已存在该长网址记录,有则返回对应的短码 ;

2)无记录则取数据表 phurl_settings中 last_num ber进行高进制转换得到短码 ;

3)数据表 phurl_settings中 last_num ber加一备以后使用;

4)在 phurl_urls表尾插入短码及长网址对应的新记录。

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

© 爱短链 2019|南京角浪网络科技有限公司j9国际官网的版权所有|简单易用的在线生成短链接工具

j9国际官网
联系客服
微信客服
扫码添加服务顾问微信
四重好礼免费领取

顾问1v1

超长试用

专属优惠

私域sop

网站地图