1. 程式人生 > >百度 谷歌 Twitter,這麼多短連結服務(Short Url)到底哪家強?

百度 谷歌 Twitter,這麼多短連結服務(Short Url)到底哪家強?

一、短連結是什麼

短連結,通俗來說,就是將長的URL網址,通過程式計算等方式,轉換為簡短的網址字串。
它的原理也非常簡單,就是採用 Domain Redirect(域名重定向) ,將一個域名自動跳轉到另一個域名。

根據wikipedia描述,短連結的方案最早在2000年誕生。在2009年11月,著名短連結服務提供商Bitly的訪問量是21億,可見短連結的使用需求是非常大的。
維基地址

這裡寫圖片描述

而在國內,短連結的普及與微博息息相關。

最早是由新浪仿照Twitter的140短篇博文功能,上線了新浪微博,之後微博服務開始風靡全中國。一個有意思的小插曲是,據說新浪與騰訊爭奪weibo拼音域名,最終新浪獲得了weibo.com的使用權。

這裡寫圖片描述

也是由於微博的風靡,產生了短連結的大量剛需,因為一篇微博只能寫140字,如果傳送一個超長連結非常佔用字元數量,並且有可能140字元都容納不下一條連結。

短連結服務產生後,應用非常廣泛。例如:

 - 一些網店、部落格等,上傳圖片url時限制了字元數,使用短連結可以縮短url,保持url完整性。
 - 網路轉發url,越短的url越容易操作和傳播。
 - 為了區分使用者來源,可以使用短連結做訪問跟蹤。
 - 使用短連結,還可以隱藏原始url。

凡事皆有利弊,短連結除了產生諸多好處,也帶來了一些麻煩。例如在郵件中,使用短連結形式的廣告地址,可以避過垃圾郵件過濾。甚至,短連結還會帶來安全隱患。

短連結的濫用,也促使一些服務商、個人,把短連結的域名加入了黑名單。

當然,本文不深入討論短連結的利弊。接下來,我們八一八國內外常見的短連結。

二、短連結到底哪家強?

如果你發過微博,你知道新浪家有短連結。如果你twi過tter,你知道Twitter家有短連結。BAT、Google、Twitter,這可都是大廠啊。到底他們的短連結是哪家強呢?

新浪微博

首先從大家熟悉的新浪微博說起吧。新浪微博的短連結域名為t.cn

我們先看看,什麼樣的url會被識別,並轉化為短連結呢?

這裡寫圖片描述

微博發出來,如下圖。這裡預設隱藏了連結地址,只顯示為網頁連結

這裡寫圖片描述

我們右鍵拷貝出這個地址,域名顯示為t.cn,整個連結為

http://t.cn/h5mwx

這裡寫圖片描述

訪問該連結,網頁即被重定向到baidu

這裡寫圖片描述

Bingo! 這個url成功被識別,並自動轉化為了一條t.cn的短連結

我猜測url的識別是通過協議頭,例如http:// https://來識別的。好的,根據這個思路,我們再實驗一條,這一次去掉http://

這裡寫圖片描述

微博發出來

這裡寫圖片描述

果然,這條url並未被識別,因此按照普通字元的形式發了出來。

那麼,其他的協議頭是否能被識別呢?我們試一下https://

這裡寫圖片描述

https被識別為連結

這裡寫圖片描述

再試一下ftp://

這裡寫圖片描述

這裡寫圖片描述

總結一下微博的短連結:

1.微博的短連結域名是t.cn
2.微博的短連結,僅識別http://和https://開頭的url

另外,新浪已經開放了短連結的api。網上比較好的一個新浪短連結工具是aTool線上
aTool線上裡,包含了短連結生成和反查詢,以及訪問數統計

這裡寫圖片描述

這裡寫圖片描述

騰訊微博

說完新浪微博,不得不對比一下騰訊微博。騰訊微博的短連結域名為url.cn,那麼它與新浪有哪些異同呢?

這裡寫圖片描述

url被成功轉換為短連結

這裡寫圖片描述

這裡寫圖片描述

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短連結有獨立的訪問頁面,獨立的域名。

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的短連結服務還是比較值得信賴的

除了大廠的短連結服務外,還有一些第三方的做得不錯,例如:

短連結會被搜尋引擎抓取嗎

還有一個關於短連結有意思的話題是,短連結是否會被搜尋引擎抓取呢?

答案是NO。至於搜尋引擎如何做到識別並篩選短連結,有興趣的可以查閱一下資料