什么是短网址?

  短网址(Short URL),顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接。

  短网址服务,可能很多朋友都已经不再陌生,现在大部分微博、手机邮件提醒等地方已经有很多应用模式了,并占据了一定的市场。估计很多朋友现在也正在使用。

  其实,个人认为短网址不一定真的好记,几位数字+字符的组合,甚至很难记忆。但无可否认在微博和手机短信提醒等限制字数的地方来使用短网址,的确是一个不错的方案。

  短网址算法原理

  算法一

  1)将长网址md5生成32位签名串,分为4段, 每段8个字节;   2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;   3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;   4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;

  算法二

  a-zA-Z0-9 这64位取6位组合,可产生500多亿个组合数量.把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。  把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同理 ID为2时,字符串组合为bba,依次类推,直至到达64种组合后才会出现重复的可能,所以如果用上面的62个字符,任意取6个字符组合成字符串的话,你的数据存量达到500多亿后才会出现重复的可能。

  一般来说,只要你会上网就能实现,找到提供短网址服务的网站,然后根据网站相应的提示即可操作。一般操作是在转址站的指定输入框内直接提交你的长网址即可。

  关于api

  没有特殊的命令,不同的短网址提供者会有不同的API,这样你就可以利用到自己的网站上。

  当然有的网址也没有API的

  一般我们使用短网址 不会用到api,除非需要大批量生成短网址,才需要调用短网址服务商的api接口。目前为大家推荐的功能比较全,服务比较好的短网生成网站有mrw.so/suo.im/suo.nz等等,大家可以根据自己的喜好选择使用。