首页 / 短链 / 短链接转换为长链接是如何生成的?

专业的短链接生成工具

链接域名

短网址有效期

短链接转换为长链接是如何生成的?

更新时间:2025-5-1 15:17:59 作者:爱短链

需求的来源


在这里告诉我,为什么需要短链接?这个很简单,比如每个人都有微博字数限制


如果网址太长,显然可以写的关键字更少!


比如短信的内容太长,那么一条短信就会一分为二,太浪费钱了!


因此,使用短链接不仅节省资源,而且看起来非常漂亮!



请求过程

首先,我们来看看当当的短链接


由两部分组成

:短链接系统的域名地址nXR:请求参数


请求地址后,返回状态如下


那么,我们可以推断输入地址后发生了什么?


这里的渣烟有很多话要说。在上图所示的短链接系统中,返回的状态可以是301也可以是302,但是当当网使用的是301。


这里想说大家应该明白,30X状态,在HTTP协议中,代表的是重定向的状态。那么301和302有什么区别,继续往下看。


301 代表什么?

301 代表永久重定向。这是什么意思?对于 GET 请求,默认情况下浏览器会缓存 301 重定向。也就是说,用户第一次访问短链接后,如果服务器返回301状态码解决方法:短链接转换为长链接_短链接系统设计,用户以后会多次访问同一个短链接地址,浏览器会直接请求跳转地址而不是再次转到短链接。拿去链接系统吧!


这样优势明显,减轻了服务器的压力,但是无法统计短链接地址的点击次数。


302 代表什么?

302 表示临时方向。这是什么意思?对于 GET 请求,默认情况下浏览器不会缓存 302 重定向,除非通过 Cache-Control 或 Expires 在 HTTP 响应中隐含浏览器缓存。因此,用户每次访问同一个短链接地址时,浏览器都会去短链接系统获取。


这样做的好处是可以统计短地址的点击次数。但是服务器的压力增加了。


以下是最关键的一段,如何压缩成nXR字符


算法原理

首先,我们需要一张表来存储长链接和短链接的映射关系。表结构如下

列名表示idBIGINT,自增主键url的长地址,即需要跳转的原地址


好的,假设此时我们的表中有如下数据

idurl1:///mix_20191102_ad3x

短链接转换为长链接


我们此时使用自增id作为短链接的key。假设域名是短链接转换为长链接系统,也就是请求:


这并非不可能。能不能接受,有两个缺点需要大家评估!


为了解决以上两个缺点,我们增加一列来存储键值。表结构如下


列名描述idBIGINT,自增主键key短字符串,需要添加唯一索引url长地址,即需要跳转的原地址


为了缩短id的长度,我们一般可以这样做。由于我们的短链接是由a-z、A-Z和0-9组成的,所以一共可以选择62个字符。因此,我们可以将十进制数 id 转换为 62 位数字,例如 201314 可以转换为 Qn0。算法如下


此外,我们需要引入一个始终返回全局自增 ID 的全局颁发者。等效地,我们的短链接系统首先请求全局自增ID,然后将全局自增ID转换为十六进制数作为key。


接下来,解决第二个问题!数据存在规律性问题。毕竟转换成十六进制后,只是解决了数据过长的问题,而数据规律性的问题并没有解决。因此,我们需要引入一种随机算法。


此时你的考虑是是否要根据key值推导出全局id值!快来选择不同的随机算法吧!


(1)不想回滚全局ID

好的,然后使用洗牌算法对计算值进行洗牌。例如,十进制的 201314 可以转换为 Qn0。然后用shuffle算法返回n0Q、Q0n中的一个……但是会有一定的冲突几率,洗几次就好了。


(2)想回滚全局ID

好的,那么在得到数字Qn0之后,将其转换为二进制。然后在固定位、第五位、第十位……(等等)中插入一个随机值。至于怎么反转,也很简单。得到短链接密钥后,将固定数字去掉,转成十进制。


至此,key如何生成的逻辑基本解释完了。那么当用户点击一个短链接时,比如一个地址,短链接系统将key解析为nXR,并根据唯一索引返回表中nXR对应的url。


详细优化

(1)分库分表

如果这个系统放在公共网络上,是供大家使用的。推荐分库分表,数据量很容易超过1000万。这就涉及到一个问题,是使用全局颁发者给出的自增id作为shard key,还是使用转换后的key作为shard key。


显然,使用转换后的键作为分片键更容易。如果使用 ID 作为 shard key,有两个问题!

对于用户请求的key,需要进行逆运算,计算出ID,然后根据ID,去对应的表中查找,增加响应时间。根据选择的随机算法,密钥可能无法计算回 ID 值。这种情况下只能逐个查表,比较慢。


所以使用 key 作为 shard key 是完美的。得到用户请求的KEY后,直接定位到对应的表,提取url。


(2)读写分离

这个系统显然读多于写。建议考虑做读写分离。


(3)引入缓存

假设我们在某个时间将短信链接的短信推送到手机。很显然,在接下来的一段时间里,这个短链接的请求量将会大大增加。不需要每次都去数据库查询短链接转换为长链接,所以可以引入redis缓存。


(4)全球发行人

它可以与其他算法一起使用吗?能。这只是一个全球唯一的 ID。您必须估计使用其他算法对性能的影响。而如果使用其他算法,生成的ID会不会太规则了。


(5)反攻击

做好被恶意攻击的准备,防止自增ID值被完全消耗掉。


以上就是关于《短链接转换为长链接是如何生成的?》的全部内容了,感兴趣的话可以点击右侧直接使用哦!》》在线短链接生成

爱短链平台各工具使用方法及功能汇总

短链接

活码系统

微信外链

抖音卡片

相关搜索

创建短链接

注册与登录 首先,访问爱短链的官方网站,点击右上角的“注册”按钮,填写相关信息完成注册。注册成功后,使用账号和密码登录到平台后台。登录过程简单快捷,支持微信扫码和手机验证码等多种方式。 获取长链接 在准备创建短链接之前,你需要先获取想要缩短的长链接。例如,在微信公众号后台,打开需要生成短链接的文章,将该文章的长链接复制到剪贴板中。 生成短链接 登录爱短链平台后,你会看到后台界面提供了多种功能选项。点击“短链”功能,将刚刚复制的长链接粘贴到指定的输入框中。爱短链还允许用户绑定自己的域名,使短链接更具个性化和辨识度。设置完成后,点击“生成短链接”按钮,平台会立即为你生成对应的短链接。 使用短链接 短链接生成后,你可以将其复制并粘贴到公众号推文中需要添加链接的位置,如正文内容、阅读原文链接、公众号菜单栏等。在正文中插入短链接时,可以搭配一些吸引人的引导语,如“点击下方链接查看更多精彩内容”或“详情请戳[短链接]”等,以提高用户的点击率。

爱短链

2025-02-20 14:33:23

抖音链接跳转微信

抖音链接跳转微信不仅为品牌营销和个人推广提供了更多可能性,也为用户带来了更加便捷、高效的信息获取和互动体验。在未来,随着社交电商的蓬勃发展和用户需求的不断变化,抖音链接跳转微信将成为越来越多用户的首选引流方式,助力品牌营销和个人推广迈向新的高度。

爱短链

2025-01-15 16:13:31

活码二维码生成器在线

活码二维码生成器在线工具如爱短链等,操作简单,无需复杂的技术知识。用户只需在网页上打开相应的生成器平台,按照提示进行操作即可。通常,用户需要输入想要关联的信息,如网址、文本、图片、文件等,然后选择一些个性化设置,即可快速生成一个活码二维码。

爱短链

2025-01-15 16:13:31

生成短链接的工具

长链接的繁琐与不便愈发凸显,而一款优秀的短链接生成工具则成为了信息高效传播的关键。爱短链,正是这样一款脱颖而出的卓越工具,为你带来前所未有的链接管理体验。

爱短链

2025-01-15 16:13:31

跳转卡片在线生成

爱短链平台提供高效的跳转卡片在线生成功能,用户可轻松定制卡片模板,填入链接与信息,即刻生成吸引眼球的跳转卡片,适用于社交媒体、营销活动等场景,助力提升点击率与营销效果,实现精准引流。

爱短链

2025-01-15 16:13:31

最通俗易懂的短链接原理讲解

看了看,想要了解短链接算法的伙伴还是蛮多的,那么今天爱短链小编就帮大家带来详细的介绍。

爱短链

2022-05-30 15:20:34

微信活码的功能特点介绍

微信活码是营销推广行业必备的一个神器,它不但可以帮助我们更好的裂变,还能降低用户流失率。

爱短链

2022-05-19 12:37:01

营销推广必备的5个效率小工具

营销推广不仅要靠扎实的专业知识,在工具使用方面也是非常重要,没有好的工具就算自己有多么厉害的技能也会事倍功半。

爱短链

2022-05-18 14:08:22

用户喜欢

缩短链接:链接在线一键秒缩短

缩短链接是一种将长网址转换为短网址的服务,通常用于社交媒体、短信、电子邮件等场合,以便更简洁地分享链接。以下是一些在线一键缩短链接的方法和工具:

爱短链

2025-02-19 10:16:16

网址简化:1秒简化网址

网址简化,也称为URL缩短,是指将冗长的网址转换为简短、易记的链接。以下是几种快速简化网址的方法:

爱短链

2025-02-19 10:16:16

网站链接太长怎么缩短

当遇到网站链接太长需要缩短的情况时,可以采取以下几种方法:

爱短链

2025-02-18 16:04:47

h5页面跳转微信小程序

H5页面跳转微信小程序的需求普遍存在,因为微信小程序只能在微信内部访问,而H5页面可以在任何浏览器中访问,因此需要通过跳转来实现两者之间的衔接。以下是H5页面跳转微信小程序的主要方式:

爱短链

2025-02-18 16:04:46

链接缩短,教程分享,一招把链接缩短

链接缩短是一个方便用户分享和访问长链接的有效方法。以下是一招把链接缩短的详细教程:

爱短链

2025-02-18 14:15:53

微信卡片链接生成

微信卡片链接是指在微信中分享的一个特定格式的链接,通过该链接可以展示网页或内容的相关信息,并以卡片的形式呈现给接收者。以下是生成微信卡片链接的详细步骤:

爱短链

2025-02-18 09:57:08

微信活码免费在线制作

微信活码是一种可以智能切换的二维码,通常用于解决微信群扫码人数限制、微信号无限加好友、多渠道引流等问题。以下是一些免费在线制作微信活码的方法和步骤:

爱短链

2025-02-18 09:57:08

微信群活码,免费生成,永久生效

微信群二维码本身具有7天的有效期,微信官方并未提供直接生成永久有效微信群二维码的功能。但可以通过一些第三方工具实现类似永久有效的效果,以下是几种免费生成微信群活码并尽量保持其长期有效的方法:

爱短链

2025-02-18 09:57:08

全平台跨域跳转微信工具,助力企业全渠道获客

爱发布客服-依依

公网安备32010402001342号

苏ICP备2021048188号-3

© 爱短链 2019 | 南京推吧网络科技有限公司版权所有

客服