短链接就不说了,大家已经都清楚了,如下所示就是短链接:
新浪微博 http://t.cn/SVpONM
腾讯微博 http://url.cn/302yor
Yun.io http://d.yun.io/PNri2v
短链接的好处:1、内容需要;2、用户友好;3、便于管理。
如何实现呢,大概有三个步骤:
1、定义一个URL映射算法,可以将长的URL映射成短字符串;
2、使用一个存储(数据库?NoSQL?)来存储完成的映射;
3、实现自己的URL映射算法;
一般来说,第三步是我们比较头疼的,如何将一个长的URL字符串,映射成一个较短的字符串呢。我总结了三种办法:
普通实现
我想以前大家学习过十进制和二进制的互相转换,或者十进制和十六进制的互相转换,那么为了更短,我们可以使用62进制,对于一个数字ID进行转码,转换成一个短字符串。
这种做法的缺点是没有办法保证所有链接都是固定的位数的长度,而且在高并发的情况下,如何保证能够快速分发是个问题。
具体实现方法:
[url=http://technorati.com/tags/%e7%9f%ad%e9%93%be%e6%8e%a5]短链接[/url],[url=http://technorati.com/tags/Short+Url]Short Url[/url],[url=http://technorati.com/tags/%e6%98%a0%e5%b0%84]映射[/url],[url=http://technorati.com/tags/%e5%93%88%e5%b8%8c]哈希[/url]
参考资料:
1、[url=http://qn-lf.iteye.com/blog/1084516]微博短地址原理解析[/url]
2、[url=http://www.iteye.com/topic/973365?page=2]微博短域名原理及作用[/url]
3、[url=http://code.google.com/p/yourls/downloads/list]Yours.org[/url]
4、[url=http://briancray.com/2009/08/26/free-php-url-shortener-script/]Free PHP URL Shorten script that kicks ass[/url]
5、[url=http://www.snippetit.com/2009/04/php-short-url-algorithm-implementation/]PHP Short Url Algorithm Implementation[/url]
6、[url=http://www.snippetit.com/2008/10/implement-your-own-short-url/]Implement your own short URL[/url]
7、[url=http://hi.baidu.com/jok607/blog/item/a2258b25ce28827a35a80f6b.html]短网址算法初步汇总[/url]
8、[url=http://i.laoer.com/short-url.html]Short Url 实现方式[/url]