zoukankan      html  css  js  c++  java
  • 百度 谷歌 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=ZbFVNe9FDaoht-ZHu9snNTFPk2QEEWEz8-oFSkd4Fdo0pzPDwolG1tubpZ-bglJEDnqf6O4hIJ5dEIAW3IAQke3cyF-H3YmZ0EX65Z2xdjw1suMk56IxG-uNzAq9lI57M636J7FgNB5So2_1OPTk7oVe_5E_NhkiWlTqMpPpmxZj7m07Mk4UcL4HboQSF6Or


    短链接服务产生后,应用很广泛。比如:

     - 一些网店、博客等,上传图片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。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

  • 相关阅读:
    二维树状数组(模板)
    3033太鼓达人
    2503相框
    Ant Trip(画几笔)
    [ZJOI2004]嗅探器
    [USACO06JAN]冗余路径Redundant Paths(缩点)
    P3806 【模板】点分治1
    P4149 [IOI2011]Race
    P2634 [国家集训队]聪聪可可
    P4178 Tree
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7055302.html
Copyright © 2011-2022 走看看