如何压缩网址链接,5分钟快速学会网址压缩短地址的方法

2022-10-06 22:35 · rick
A+ A-

我们都用过这么一个功能,一个非常长的网址,可以被压缩称一个非常短的链接,这背后用到的是什么样的技术呢?背后又隐藏着怎么样的算法与数据结构?我们如何能够快速的进行实现。

短网址技术其实非常的简单,我们可以将这个技术分成两部分,第一部分是长网址的压缩,也就是如何把长连接地址压缩成短连接地址,第二部分是如何把访问短链接地址的时候又重新变成访问长链接地址。

哈希算法



最常见的短网址实现方案便是使用哈希算法,相信学过算法与数据结构的同学对这个算法并不陌生,哈希算法可以把非常长的文本甚至文件映射成一个字符串或者数字,这种算法并不陌生,我们常见的文件md5算法也属于哈希算法中的一种。

但是md5比较长,通常我们会使用murmurhash来进行哈希,这是一种比较轻量级的哈希算法。我们将哈希后的值跟长连接还有失效时间一起保存在数据库里面,后面通过哈希后的值,就能够找到对应的原始长链接地址了。

但是,这里还存在2个细节问题,首先是哈希地址冲突了怎么办?常见的哈希冲突解决方法,便是从后面一直找,找到一个空的插槽放进去,如果学过算法与数据结构,便知道这种算法比较不稳定,并且实现起来也麻烦。我们有一个更简单的做法,就是在原始链接后面再拼上一个自定义的字符串进行哈希。


另外一个问题,便是murmurhash的哈希结果是一个32位的数字,只有0到9组成,如果似乎几千万的一个数字,也比较长,那么我们可以怎么办呢?我们可以把这个简单十进制数字转成更高的进制,把字母a到z与A到Z都用上,就可以把字符串压到非常短了。

重定向

那么如何访问一个短地址的时候变成一个长地址呢?同理也是非常的简单,运用到的便是网页重定向功能。


用户先使用短地址到后台查询,后台到数据库中进行查询后,便校验数据的合法性,例如数据过期之类的,紧接着返回长地址与重定向错误码,浏览器接受到错误地址后便开始重定向到真实地址。


点赞(0)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1545685@qq.com举报,一经查实,本站将立刻删除。
猜您喜欢

ps怎么提高图片的清晰度,3分钟快速学会usm锐化的使用方法

大多数用户对USM锐化的三个参数的含义有些模糊不清。可能在其他地方看到的USM锐化,多会给读者固体的参数值去调整。包括XX数值不超过1.5,XX数值要保持多少多少,这些死板硬套的方法,是不推荐大家去做的。Photoshop中的清晰度与锐化清晰度,增加画面中间调的反差。为了获取视觉上的凹凸感,在强调画面微反差和质感时有重...

0 870 10-05 22:10

ps如何调色彩饱和度,小白必看的ps调色基本步骤超详细

想要学习好调色,最主要的是什么?是这 16 个调整图层?还是这个参数复杂的 ACR 滤镜?其实都不是!而是需要了解色彩的一些底层逻辑。一、屏幕显示成像原理很小的时候,不小心在电脑屏幕上滴了一滴水,水滴在屏幕上产生了放大的效果,透过水滴,看到了由蓝色、绿色、红色长方形色条组成的正方形小颗粒。这样的小颗粒缩小到一定程度并等...

0 733 10-05 19:15

小密圈是什么,手把手教你玩转小密圈

知识有价。小密圈定位做知识社群,为具备高品质内容的知识型大 V 提供具备分享内容、与粉丝深度交流、变现能力的工具。圈主可以通过创建收费圈子(收费可按年费计算,或终生有效),用户付款到小密圈,小密圈收取 5% 的手续费。圈主可以随时提现到微信。收费圈子的好处,至少有这些:1. 建立门槛,过滤掉观光客;2. 逼自己尽可能多...

0 898 09-07 17:11

长尾词库有多重要怎么挖掘,一文了解长尾词库的核心及挖掘方法

网站大部分的流量其实是来自于搜索指数并不大的长尾关键词,越是大型的网站,长尾关键词的流量占比率就越大。我们在做网站优化时都会利用大量的长尾关键词去获取更多的流量,很有必要建立长尾关键词词库,一方面长尾关键词库可以帮网站带来更多的精准流量,另一方面可以提升第三方网站权重。SEO一、网站关键词库是怎么来的?网站关键词库是站...

0 920 10-06 18:58

sp推广是什么意思,购物中心所说的sp活动和pr活动解析分享

从事商业推广听到频次最多的词恐怕就是sp和pr了。一般来说商场的活动主要分为两大类,也就是sp和pr。它们分别表示什么?有什么区别?具有什么样的作用?分别有哪些类型?百货商场和购物中心在两类活动表现出来什么样的偏好?为什么会出现这样的结果?sp和pr虽然只是两个简单的英文缩写,但其中的奥秘和学问也是需要长时间了解和学习...

0 563 10-10 15:56

如何自己做一个网站,小白也能看懂的网站开发详细流程

很多不是程序员的朋友总是理解不了网站到底是什么,它到底是怎么存在和运行的,也总是以为建一个网站很复杂。其实建网站并不难,也不需要花费太大资金,只需要以下6个步骤即可做出一个网站。第一步:注册域名并实名认证第二步:购买云虚拟主机第三步:域名备案第四步:域名解析绑定第五步:安装网站程序第六步:网站二次开发与网站仿站了解完以...

0 944 10-10 17:55
关注我们
在线咨询
返回顶部