百度 谷歌 Twitter,这么多短链接服务(Short Url)究竟哪家强?
一、短链接是什么
短链接。通俗来说。就是将长的URL网址,通过程序计算等方式。转换为简短的网址字符串。
它的原理也很easy,就是採用 Domain Redirect(域名重定向) ,将一个域名自己主动跳转到另一个域名。
依据wikipedia描写叙述,短链接的方案最早在2000年诞生。
在2009年11月,著名短链接服务提供商Bitly的訪问量是21亿。可见短链接的使用需求是很大的。
维基地址
而在国内,短链接的普及与微博息息相关。
最早是由新浪仿照Twitter的140短篇博文功能,上线了新浪微博,之后微博服务開始风靡全中国。一个有意思的小插曲是,据说新浪与腾讯争夺weibo拼音域名,终于新浪获得了weibo.com的使用权。
也是因为微博的风靡,产生了短链接的大量刚需,因为一篇微博仅仅能写140字,假设发送一个超长链接很占用字符数量,而且有可能140字符都容纳不下一条链接。
參照例如以下一条链接。数一下有多少字符:
http://baike.baidu.com/link?
短链接服务产生后,应用很广泛。比如:
- 一些网店、博客等,上传图片url时限制了字符数,使用短链接能够缩短url,保持url完整性。 - 网络转发url,越短的url越easy操作和传播。 - 为了区分用户来源,能够使用短链接做訪问跟踪。 - 使用短链接。还能够隐藏原始url。
凡事皆有利弊,短链接除了产生诸多优点,也带来了一些麻烦。比如在邮件中,使用短链接形式的广告地址。能够避过垃圾邮件过滤。甚至,短链接还会带来安全隐患。
短链接的滥用,也促使一些服务商、个人,把短链接的域名增加了黑名单。
当然。本文不深入讨论短链接的利弊。
接下来。我们八一八国内外常见的短链接。
二、短链接究竟哪家强?
假设你发过微博。你知道新浪家有短链接。假设你twi过tter,你知道Twitter家有短链接。BAT、Google、Twitter,这可都是大厂啊。
究竟他们的短链接是哪家强呢?
新浪微博
首先从大家熟悉的新浪微博说起吧。
新浪微博的短链接域名为t.cn
我们先看看。什么样的url会被识别,并转化为短链接呢?
先来一个最简单的 http://www.baidu.com
微博发出来,例如以下图。
这里默认隐藏了链接地址,仅仅显示为网页链接
。
我们右键拷贝出这个地址,域名显示为t.cn,整个链接为 http://t.cn/h5mwx
訪问该链接。网页即被重定向到baidu
Bingo! 这个url成功被识别,并自己主动转化为了一条t.cn的短链接
我推測url的识别是通过协议头。比如http:// https://来识别的。
好的,依据这个思路。我们再实验一条。这一次去掉http://
微博发出来
果然,这条url并未被识别。因此依照普通字符的形式发了出来。
那么,其它的协议头能否被识别呢?我们试一下https://
https被识别为链接
再试一下ftp://
我们注意到。ftp://ftp.baidu.com/zhidao是一个有效链接。但并未被识别。
总结一下微博的短链接:
1.微博的短链接域名是t.cn
2.微博的短链接,仅识别http://和https://开头的url
另外,新浪已经开放了短链接的api。
网上比較好的一个新浪短链接工具是aTool在线
aTool在线里,包括了短链接生成和反查询,以及訪问数统计
腾讯微博
说完新浪微博。不得不正确比一下腾讯微博。腾讯微博的短链接域名为url.cn。那么它与新浪有哪些异同呢?
首先仍然是最常见的链接。 http://www.hao123.com
url被成功转换为短链接
再换一个ftp://ftp.baidu.com/zhidao
ftp://开头的url识别成功。
腾讯的技术还是比較严谨的哈
同样,我们把http://协议头去掉
这个url未识别。看来普遍採用的方案。就是识别协议头了
那么我们再实验一种情况,假设url是眼下不存在的呢?
url被转换为url.cn短链接。
可见,短链接方案通常不识别链接有效性。
兴趣来了,咱们再实验一种情况。假如两个人分别分享同一条链接,转换的url.cn是否同样呢?
仍以hao123为例
两个账号同样发送同样url。转换后的短链接同样。可见,腾讯微博并未将短链接与账号关联,这也减少了技术方案的难度和资源消耗。
依旧总结一下:
1.腾讯微博的短链接域名为url.cn
2.腾讯微博的短链接,能够识别常见的http、https、ftp等协议头
3.腾讯微博的短链接与账号无关
4.腾讯微博的短链接生成时。不检查url有效性
前面已经对照了新浪、腾讯两大微博。因此不得不提到Twitter。Twitter的短链接域名为t.co
因为国内Twitter被墙,这里不再具体介绍它的短链接。仅说两点有意思的地方
1.是Twitter能够正常识别www.baidu.com形式的链接
推文中显示出了正常链接。实际上它已经被转换为短链接
右键将url拷贝出来。看看真相
2.更有意思的是,www.baidu.com与http://www.baidu.com被视为同样内容,而且不同意反复发送
twitter能够识别www.baidu.com形式的常见链接。这个令我比較佩服,很用心
吧啦吧啦说了一大堆,各位看官烦了没?假设还有兴趣,继续看,google的短链接做到了那些事情。
google短链接的域名是goo.gl。
注意。谷歌在国内的訪问并不稳定。
google短链接与微博等不同的一点是,它是一个的独立工具。而不是依附于社交产品的附属产物。
这一点很重要:微博等产品中的短链接,是基于传播信息的须要。把url转换缩短。仅此而已。
而google基于工具的思路。因此决定了它更优秀的一些特点
1.首先,google短链接有独立的訪问页面。独立的域名。
2.google短链接页面干净简洁。并不掺杂社交、广告等内容
3.未登录google账号,也能够使用
4.登录google账号时,能够保存生成短链接的历史记录,并进行訪问跟踪
5.不同账号之间,同一个url转换生成的短链接不同,这样能够区分訪问跟踪。
未登录google时,更换浏览器,同一个url也会生成不同的短链接。推測是依据浏览器、电脑属性等识别了唯一的游客身份。
介绍了goo.gl诸多特性后,我们依旧来做一点技术分析
a. goo.gl对url的形式保持开放态度,来者不拒。
a.b
以及 我能够
这种字符串依旧能够生成短链接。也就是说全然不正确url进行不论什么校验和限制
b. 别忘了我们刚刚提到。不同账号之间。甚至不同游客之间,同一个url会转换成不同的短链接。
这对于数据处理来说是有一定挑战的,当然我相信对于谷歌来说这真是缺乏挑战
- 短链接的存储。从简单的 url-短链接 相应关系,变成了 账号-url-短链接 相应关系
- 数据库表怎样设计。才干兼顾 存储、查询、账户信息合并、訪问统计
- 另外一个与短链接无关的,就是:在多种电脑、多种浏览器、甚至如今多种移动终端的形势下,谷歌怎样track游客用户
总体来说,goo.gl还是做得很用心,仅仅是在国内的话须要慎用
百度
既然说到谷歌,就对照一下百度的短链接服务吧,地址 http://dwz.cn/
1.注意谨防伪冒,百度短链接页面例如以下图
而百度搜索推荐的竟然是一个冒牌的服务 http://baidu.nu/ 。。!
当然这个服务做得也还能够。能够自主选择多种域名
2.百度短链接无账号区分。一个短链接生成后即形成 url-短链接 相应关系
3.百度会验证url有效性
4.百度短链接能够自己定义后缀
5.已经存在的url,不能再自己定义后缀。可见百度 url-短链接 是一对一的存储关系
总结一下百度短链接服务的特点
1.百度短链接的域名是dwz.cn
2.百度短链接会识别url有效性
3.百度短链接是 url-短链接 一对一的映射关系
4.百度短链接能够自己定义后缀
5.百度短链接开放了api,能够基于百度开发自己的短链接服务
总体来说,除了无法统计这一点略显不足,总体质量与goo.gl也是不相伯仲的
其它
以上介绍了几款短链接相关的产品。总体来说。百度、google的短链接服务还是比較值得信赖的
除了大厂的短链接服务外,另一些第三方的做得不错。比如:
http://www.atool.org/shorturl.php aTool工具
http://baidu.nu/ 上面提到过的,百度冒牌服务
http://t.im/ t.im短网址
https://bitly.com/shorten/ 国外老品牌,bitly
短链接会被搜索引擎抓取吗
另一个关于短链接有意思的话题是,短链接是否会被搜索引擎抓取呢?
答案是NO。至于搜索引擎怎样做到识别并筛选短链接,有兴趣的能够查阅一下资料
这里有一篇网址在讨论这个问题
http://www.quora.com/Does-Google-crawl-http-goo-gl-shortened-URLs