设为首页 - 加入收藏
广告 1000x90
您的当前位置:主页 > 网络营销 > 正文

较长URL简短化,在线生成短链接系统

来源:引流技巧 编辑:爱短链 时间:2025-08-12

短链接系统可以将长 URL URL 转换为短 URL 字符串。短链接的优点是易于传播。适合在一些对字符串长度有要求的场景下使用,比如短信、微博等,比如

在线生成短链接:

设计要求

根据面试要求,需要设计短链接系统,链接长度尽量短,每天产生1亿个网址,服务10年。


首先在线生成短链接,让我们看看短链接的工作原理。

它是如何工作的?

当我在 Chrome 上输入短链接时会发生什么?

打开开发者工具,可以看到服务器收到请求后,会将短链接转换为长链接,然后返回浏览器,进行301重定向,请求长链接地址。

另一个问题,如何将长链接转换为短链接?

可以使用一些加密算法吗?显然不行,因为加密后字符串会变长。


哈希算法:

其实我们可以使用哈希算法和哈希表来实现,如下

长链接经过哈希算法后,会生成一个固定长度的哈希值key,即短链接的值,并存入哈希表中。

使用短链接查询长链接时,只需要查询哈希表即可。

以上是常用的哈希算法,至少8位。

我们需要多少个短链接?按照以上要求,每天产生1亿个短链接,运行10年,1亿*365*10=3650亿。

短链接的字符在[0-9,a-z,A-Z]之间在线生成短链接,共有62个不同的字符,可以计算出以下数据。



可见,要满足系统要求,短链路的长度至少要7比特。实际上,许多短链接系统也是 7 位长。有兴趣的同学也可以看看米勒定律7±2。

上面的CRC32算法至少有8位。但是我们可以截断前 7 位并丢弃最后一个。但是,可能存在哈希冲突的问题。我们可以递归地为长链接拼接一个值,直到不再发现冲突。当然,也可以使用其他的哈希冲突解决方法。


Base 62 转换

这是另一种常用的方法,Base 62字符由大写字母A-Z、小写字母a-z和数字0-9组成,共62位,如下

与 base 64 相比,base 62 仅少了 2 个字符 + 和 /。大家可以想想为什么我们这里不用base 64。

Base 62 与上述哈希算法不同。哈希算法根据长链接计算哈希值,然后保存在哈希表中。而base 62需要为每个长链接生成一个唯一的数字ID,如下

那么如何计算 ShortURL?因为id是唯一的十进制数,我们只需要把它转成十六进制,就和二进制转十进制一样。

如果有ID为11157,则转换过程如下

最终短链接的值为。


总结

本文介绍了两种实现短链接的方法在线生成短链接,分别是hash算法和base 62。

hash算法的特点是具有固定的短链接长度,不需要生成唯一ID,可能会发生hash冲突。

base 62转换的特点是长度不固定,取决于ID的大小,1000转换后为G8短链接系统可以把比较长的URL网址转换成简短的网址字符串,1000亿转换后为1l9Zo9o。还需要生成没有哈希冲突问题的唯一数字 ID。


以上就是关于《较长URL简短化,在线生成短链接系统》的全部内容了,感兴趣的话可以点击右侧直接使用哦!》》在线短链接生成器

相关推荐:

栏目分类

微商引流技巧网 www.yinliujiqiao.com 联系QQ:1716014443 邮箱:1716014443@qq.com

Copyright © 2019-2024 强大传媒 吉ICP备19000289号-9 网站地图 rss地图

Top