使用.net編寫的 短連接(短網址)服務
短連接大家都不陌生,例如新浪的 t.cn 、京東的 3.cn 、淘寶的 tb.cn 等等。都已經是家喻戶曉的短連接域名。不知道有多少人像我一樣,對短連接原理好奇而且嚐試自建了呢?
今天發布這個文章的目的,就在於分享一下我的自建短連接過程。首先解釋下短連接的實現原理,相信很多讀者,在看完原理之後,已經有能力自己編寫這樣一個工具出來。
-
短連接構成:協議+域名+參數
例如:我的阿裏雲幸運券連接https://wzfw.ltd/qjyl 。就是由“https://” + “ wzfw.ltd” + "qjyl"三個部分組成。其中http為協議,也可以是https。wzfw.ltd為域名,我手裏暫時沒有更短的限製域名,就暫時使用這個了。最關鍵的是最後一部分“qjyl”,我暫時稱作他為code。其實這個code就是一個數據庫裏的唯一標識列
-
短連接用途
最簡單的用途就是他的名字直譯“短”的“鏈接”,可以把長長的一串鏈接縮短成為幾個簡單的字符。但今天我要說的用途不是縮短,而是統計用量,關於這一點待會說到實現原理時候會重點解釋。另外,偶然發現還有一個作用,就是突破域名屏蔽,關於這一功能點,純屬巧合。當下微信裏傳播的很多假紅包假活動網站,都是類似於短連接這種多級跳躍方式突破的域名封鎖。
-
短連接原理
創建一張數據庫表,僅需要有2列即可:code列和url列。
code列也就是標識列,建議直接設置為非自增主鍵。用於存儲短連接參數代碼,也就是短連接裏的code。url列用於存儲要跳轉的原始url。此處我是出於自用目的,因此不做額外限製。
短連接原理非常簡單,就是用戶訪問短連接地址,到達我們的短連接網站,然後網站通過短連接裏的code,查詢數據庫得到原始url,然後讓網頁跳轉到原始url即可。文章標題所說的鏈接推廣分析功能,就是在這個過程中,記錄訪客的某些信息,例如:訪問時間、訪問的短鏈接、訪客的IP、訪客的UserAgent信息等。基於這些信息,配合推廣方式,就可以輔助判斷出什麼時間,什麼範圍,什麼人群的推廣更有曝光效果。
-
-
自建短連接站點
自建短連接需要一下條件:
-
域名。盡量短,最好是連同空間一同完成備案
-
空間或者服務器。國內用,建議選擇國內服務商。
-
網站源代碼。.net 、java、php等網站開發語言均可。
-
數據庫。不要求是否是sql,隻要能完成鍵值對對照關係即可。
由於短連接是唯一中間連接,因此需要購買的空間或者服務器盡可能穩定,在這裏,我插播一點廣告信息,歡迎大家參考選購,算做是對本文的支持。
推薦大家使用阿裏雲的ECS,購買步驟如下
Step1:領取我的阿裏雲幸運券(https://wzfw.ltd/qjyl )
Step2:新用戶199元一年特價ECS,1核2G(https://wzfw.ltd/ecs199 )
新用戶和老用戶另外三種配置特價機型可選(https://wzfw.ltd/ecs330),價目如下:
1核1G=330一年,660兩年,800三年
1核2G=660一年,960兩年,1320三年
2核4G=825一年,1260兩年,1650三年
Step3:新用戶用券下單完成可抽獎(抽獎地址:https://wzfw.ltd/jiang)。目前獎品中,小米電源和阿裏雲T恤衫概率很高。
廣告結束,歡迎回來!
實現代碼:以.net為例,開發工具VS2015,采用 MVC5.0 建站,代碼直接上圖:
1,添加路由:
2,記錄日誌,代碼和日誌截圖
3, 短連接功能實現,為便於展示,這裏使用測試代碼,實際代碼替換為數據庫查詢即可(截圖中,紅框2內容)
文章到此結束,相信到了這一步,不需要我分享源代碼,具備開發能力的你也可以製作出自己的短連接工具網站了。目前我的短連接站點雖然簡陋,但是已經足以實現我統計推廣的目的。文中不可避免的出現了我的推廣廣告,還請各位多多包涵!在此感謝您的閱讀和支持!
最後更新:2017-09-23 23:02:44