短网址_短连接_短网址服务的技术原理是什么?
浏览:100
短网址的一般表现形式为:较短域名/六位左右数字和字符混合体。这种形式的网址一般就是短网址。
其服务形式主要有两种,一种是将长网址直接缩短,短域名后跟一堆乱七八糟的字符,二是可以自定义后缀,当然先来先得。
从技术角度讲,短网址的算法有两种:
算法一:
1)将长网址md5生成32位签名串,分为4段, 每段4个字节(即32位);
2)对这四段循环处理, 取4个字节(32位), 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;
算法二:
把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。
把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同理 ID为2时,字符串组合为bba,依次类推,直至到达62种组合后才会出现重复的可能,所以如果用上面的62个字符,任意取6个字符组合成字符串的话,你的数据存量达到500多亿后才会出现重复的可能。
短网址的源码是公开的,大家都可以拿来用,也因此导致短网址里面竞争激烈,服务门槛参差不齐,因此,作为一个专业的短网址服务商,我们真心不希望个人竞争者加入,得不偿失。