百度 谷歌 Twitter,这么多短链接服务(Short Url)到底哪家强?

一、短链接是什么

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。

它的原理也非常简单,就是采用 Domain Redirect(域名重定向) ,将一个域名自动跳转到另一个域名。

根据wikipedia描述,短链接的方案最早在2000年诞生。在2009年11月,著名短链接服务提供商Bitly的访问量是21亿,可见短链接的使用需求是非常大的。

维基地址



而在国内,短链接的普及与微博息息相关。

最早是由新浪仿照Twitter的140短篇博文功能,上线了新浪微博,之后微博服务开始风靡全中国。一个有意思的小插曲是,据说新浪与腾讯争夺weibo拼音域名,最终新浪获得了weibo.com的使用权。

也是由于微博的风靡,产生了短链接的大量刚需,因为一篇微博只能写140字,如果发送一个超长链接非常占用字符数量,并且有可能140字符都容纳不下一条链接。

参照如下一条链接,数一下有多少字符:

http://baike.baidu.com/link?url=ZbFVNe9FDaoht-ZHu9snNTFPk2QEEWEz8-oFSkd4Fdo0pzPDwolG1tubpZ-bglJEDnqf6O4hIJ5dEIAW3IAQke3cyF-H3YmZ0EX65Z2xdjw1suMk56IxG-uNzAq9lI57M636J7FgNB5So2_1OPTk7oVe_5E_NhkiWlTqMpPpmxZj7m07Mk4UcL4HboQSF6Or



短链接服务产生后,应用非常广泛。例如:

 - 一些网店、博客等,上传图片url时限制了字符数,使用短链接可以缩短url,保持url完整性。
 - 网络转发url,越短的url越容易操作和传播。
 - 为了区分用户来源,可以使用短链接做访问跟踪。
 - 使用短链接,还可以隐藏原始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。Twitter的短链接域名为t.co

由于国内Twitter被墙,这里不再详细介绍它的短链接。仅说两点有意思的地方

1.是Twitter能够正常识别www.baidu.com形式的链接

推文中显示出了正常链接。实际上它已经被转换为短链接

右键将url拷贝出来,看看真相

2.更有意思的是,www.baidu.com与http://www.baidu.com被视为相同内容,并且不允许重复发送

twitter能够识别www.baidu.com形式的常见链接,这个令我比较佩服,很用心

google

吧啦吧啦说了一大堆,各位看官烦了没?如果还有兴趣,继续看,google的短链接做到了那些事情。

google短链接的域名是goo.gl。注意,谷歌在国内的访问并不稳定。

google短链接与微博等不同的一点是,它是一个的独立工具,而不是依附于社交产品的附属产物。

这一点非常重要:微博等产品中的短链接,是基于传播信息的需要,把url转换缩短,仅此而已。而google基于工具的思路,因此决定了它更优秀的一些特点

1.首先,google短链接有独立的访问页面,独立的域名。

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 10:34:59

百度 谷歌 Twitter,这么多短链接服务(Short Url)到底哪家强?的相关文章

Java 域名短链接服务原理及解决方案

一.背景 现在在各种圈的产品各种推广地址,由于URL地址过长,不美观.不方便收藏.发布.传播以及各种发文字数限制等问题,微信.微博都在使用短链接技术.最近由于使用的三方的生成.解析短链接服务开始限制使用以及准备收费.不方便统计分析.不方便流控等问题,决定自建一个短地址服务. 二.原理 比如,http://a.b.com/15uOVS 这个短地址 第1步,浏览器请求这个地址 第2步,通过DNS后到短地址服务端,还原这个短地址对应的原始长地址. 第3步,请求http 301 或302到原始的长地址上

【文章阅读】短链接服务系统开发

一.短链接服务系统开发 https://www.javadoop.com/post/url-shortener?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 二.思路说明 文章很棒,不过最重要的是思路,在可实现的思路下,你会发现每一步都不难. 本文目的就是整理思路,然后让自己实现. 1.功能: 长链转短链,短链跳转到长链. 2.如何保证短链唯一: 短链是一个字符串,只需由一个唯一的ID,可以根据某种规则,转换出唯一的

如何实现一个短链接服务

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串. 大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转.新浪微博因为限制字数,所以也会经常见到这种看着不像网址的网址.短链的兴起应该就是微博限制字数激起了大家的创造力. 如果创建一个短链系统,我们应该做什么呢? 将长链接变为短链: 用户访问短链接,会跳转到正确的长链接上去. 查找到对应的长网址,并跳转到对应的页面. 短链生成方法 短码一般是由 [a - z, A - Z, 0 - 9] 这62 个字母

百度短网址服务

百度短网址服务api文档 String shareUrl = "http://www.baidu.com/"; RestTemplate template = new RestTemplate(); //百度短地址服务 String url = "http://dwz.cn/create.php"; LinkedMultiValueMap<String, Object> parts = new LinkedMultiValueMap<String,

全网最通俗易懂的【短链接】入门

最近接了一个需求,涉及到了短链接的相关的知识,于是去查阅了相关的资料,在这里给大家整理分享一下. 一.短链接介绍 举个例子,现在我的GitHub的地址是这个:https://www.hdptzc.cn github.com/ZhongFuCheng3y/3y (36个字符) 我通过百度的短链接服务可以将上面的地址转成https://www.jinyang3.xyz dwz.cn/LwlrfG4j(23个字符) 转短链接 那我为什么要将原有的URL转成较短的链接呢?比如我们发短信提醒用户去XXX,

[转帖]全网最通俗易懂的【短链接】入门

全网最通俗易懂的[短链接]入门 https://my.oschina.net/u/3777556/blog/3136858 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近接了一个需求,涉及到了短链接的相关的知识,于是去查阅了相关的资料,在这里给大家整理分享一下. 一.短链接介绍 举个例子,现在我的GitHub的地址是这个:https://github.com/ZhongFuCheng3y/3y (

长链接转短链接(短网址)

场景 ? 短链接服务就是将一段长的URL转换为短的URL,比如利用新浪微博的短链接生成器,可将一段长的URL(http://blog.csdn.net/poem_qianmo/article/details/52344732)转换为一段短的URL(http://t.cn/RtFFvic),用户通过访问短链接即可重定向到原始的URL. 整个交互流程如下: 用户访问短链接:http://t.cn/RtFFvic 短链接服务器t.cn收到请求,根据URL路径RtFFvic获取到原始的长链接:http:

新浪短链接

https://www.aliyun.com/jiaocheng/327498.html 阿里云 >  教程中心   >  java教程 >  短链(短地址.Short URL) 短链(短地址.Short URL) 发布时间:2018-02-07 来源:网络 上传者:用户 关键字: 新浪微博 接口 流行 统计 网络 发表文章 摘要:   短链接产生和流行得益于社交网络的发展.短链接可以更方便的在网络中传播,避免超出字符限制,使得分享地址更加容易并且能够统计此地址的访问信息.   下面是新

生成短链接的URL

假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学编程的时候我们用的方法都试拼接一个足够唯一的字符串(比如时间戳加用户ID等等)然后再用MD5或者SHA1散列算法算出一个散列值,用这种方法得到的唯一ID有可能比原始的链接的长度还要长,所以如何来优雅的生成足够短的字符串唯一ID呢? 我们