设计短链接系统的一些思路

短链接的历史

最初是国外 twitter 最先使用,然后谷歌,国内各大互联网公司也相继开发短链接系统。

短链接有什么好处?

  1. 便于记忆。从名称就可以给出答案,就是短。人的记忆是有限,链接地址越短,记起来也就越简单。
  2. 管理方便,根据参数就可以查出对应是原链接地址。

常见的短链接长什么样?

https://x.com/1
https://x.com/asTvQltzM

交互流程

  1. 用户访问短链接地址 https://x.com/asTvQltzM
  2. 系统根据 asTvQltzM 参数查询出原链接地址
  3. 跳转到原地址

实现步骤

  1. 生成唯一参数(id)
    • 生成参数(id)三种方法:1 、开源算法,比如 uuid Twitter 雪花算法,2、redis 自增 key,3、mysql 自增 id
    • 参数(id)和链接添加唯一索引
    • 重复链接处理方式:1、不处理,2、返回旧短链接,3、生成新短链接
  2. 验证参数(id)并且做 302 跳转。为什么是用 302 状态码,而不是 301 ?1、因为 301 是永久重定向,而 302 是临时重定向,用户链接是先到短链接系统,再跳转到原地址,如果用 301 那么用户第二次请求就不会到短链接系统,而是直接重定向原地址了。2、国内大厂都是用 302 。
打赏作者

您将是第一位评论人!

提醒
avatar