长链转短链生成与访问

本文探讨了短链的生成与访问,包括通过数据库自增ID、Redis、UUID、雪花算法和ZooKeeper生成唯一ID的方法。文章指出,确保地址多次请求返回相同短链的关键在于保存并查询映射关系,通常借助Redis缓存。62进制数用于短链,以减少字符长度。短链访问涉及拦截器和Nginx配置,以及301和302重定向状态码的选择,后者可用于分析链接请求次数。
摘要由CSDN通过智能技术生成

最近研究了下长短链的生成与访问,发现这其中有不少的可以仔细研究的点,现在写下这篇文章记录下

短链的生成

首先是长链和短链的定义,以及应用的场景。

我们经常可以看到有些链接很长例如:https://www.google.com.hk/search?q=%E6%B7%98%E5%AE%9D%E6%B4%BB%E5%8A%A8+%E9%95%BF%E9%93%BE&oq=%E6%B7%98%E5%AE%9D%E6%B4%BB%E5%8A%A8+%E9%95%BF%E9%93%BE&aqs=chrome..69i57j33i160l2.9434j0j7&sourceid=chrome&ie=UTF-8

这样的链接如果是在微博这种有字数限制或者短信这种超过一个长度额外收费的服务来说就很不友好,短链的优势在这里就很明显,例如刚才的长串如果是https://www.google.com.hk/jhd351dfs,
那么这个问题就被轻松解决了。还有另一个应用场景, 在一个销售业务部门可能会根据每个不同的销售分享不同的链接来对不同的销售绩效进行考核,或者类似的是用户点击别人分享的链接,分享者有收益。这种场景有一种处理方案就是在链接上拼接分享人的信息,点击之后再解析这个参数,那么用短链来隐藏这个信息就很重要。

理解这个应用场景其实我们大致也能知道所谓的短链其实就是将原先的长链进行处理,点击短链访问的时候本质上还是在访问长链。也就是我们的短链服务其实是一个中转映射,现将长链按照我们设定好的转成一个新的地址,
当用户访问这个短链的时候其实是先访问了短链的服务,短链服务要先根据之前的规则重定向到原来的长链地址

那我们先来看下这个生成短链的方式

目前查阅网上的资料来看核心的思路都是先将长链分配一个在我们的系统中唯一的序号,将这个序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值