URL 短链接的工作原理
URL 短链接,有时称为链接缩短,用于将冗长复杂的 URL 缩短为更易读和便于分享的形式。
从本质上讲,URL 短链接是一个通过 301 重定向到新目标的链接。
链接缩短的算法
当您使用任何链接缩短服务(无论是 Linkly、Bitly 还是其他众多服务)创建短链接时,一个新链接会被插入到数据库中,数据库会返回一个数字 ID。
这个数字可能非常长,而且数字在 URL 末尾肯定不太美观,例如:
shor.tr/2385162034
链接缩短服务通过改变数字的进制来解决这个问题。
在十进制中,数字从 0 到 9,之后再增加一位(10)并重新开始。
在十六进制(base 16)中,数字从 0 到 15,但是 10-15 这些数字用字母 A 到 F 表示。
例如,数字 11 会表示为 B。
上面链接中的长数字将是 8E2AAF32 - 短了一点,但还不够短。
链接缩短服务通常使用 Base 62(六十二进制),它包含:
- 数字 0-9(10 个符号)
- 小写字母 a - z(26 个符号)
- 大写字母 A - Z(26 个符号)
总共 10 + 26 + 26 = 62 个符号。
现在,让我们使用 Base 62 编码上面的数字:
十进制的 2385162034 = 六十二进制的 2bPtb0
现在只有六个字符(而不是 10 个),但仍然能唯一标识该链接。
所有链接缩短服务都基于类似的原理工作。
缩短之后……
当收到链接请求时,扩展名会被转换回十进制,数据库会查询该链接 ID,然后用户被重定向到该链接的目标地址。
此时,链接缩短服务可能会记录该请求,以便提供点击跟踪功能。