什么是短网址?

  百度了一下“短网址”这个词,短网址网站众多,但是没有一个网站好好介绍短网址是干什么的。

  短网址,是由长网址经过某种算法缩短以后产生的网址。其跳转可以是301跳转,也可以是302跳转,这两种跳转状态对于短网址网站以及短网址使用者来说,并没有什么区别。网上流传说301跳转,对本站seo有利,这里辟一下谣:在短网址里面,http状态码的影响可以忽略。

  短网址的生成过程是这样的:

  算法一

  自增序列算法 也叫永不重复算法

  设置 id 自增,一个 10进制 id 对应一个 62进制的数值,1对1,也就不会出现重复的情况。这个利用的就是低进制转化为高进制时,字符数会减少的特性。

  短址的长度一般设为 6 位,而每一位是由 [a - z, A - Z, 0 - 9] 总共 62 个字母组成的,所以 6 位的话,总共会有 62^6 ~= 568亿种组合,基本上够用了。

  哈哈,这里附上一个进制转换工具 mrw.so 上图的数据就是用这个工具生成的。

  具体的算法实现,自行谷歌。

  算法二

  将长网址 md5 生成 32 位签名串,分为 4 段, 每段 8 个字节

  对这四段循环处理, 取 8 个字节, 将他看成 16 进制串与 0x3fffffff(30位1) 与操作, 即超过 30 位的忽略处理

  这 30 位分成 6 段, 每 5 位的数字作为字母表的索引取得特定字符, 依次进行获得 6 位字符串

  总的 md5 串可以获得 4 个 6 位串,取里面的任意一个就可作为这个长 url 的短 url 地址

  这种算法,虽然会生成4个,但是仍然存在重复几率.

  其在浏览器中的过程是这样的:

  当我们在浏览器里输入 短网址 时

  DNS首先解析获得 短网址 的 IP 地址

  当 DNS 获得 IP 地址以后(比如:74.125.225.72),会向这个地址发送 HTTP GET 请求,查询短码 RlB2PdD

  短网址 服务器会通过短码 获取对应的长 URL

  请求通过 HTTP 301/302 转到对应的长网址

  本资讯有免费专业的企业级短网址工具——MRW短网址整理生成。