短鏈接生成原理


提供一個短址服務
你有沒有發現,我們的任務中出現長 URL 就會比較麻煩?如果有一個短址生成器就好了。雖然市面上有很多,但是我們可以重復發明一個輪子,利用這個機會嘗試一下簡單的 Web 全棧開發。

任務

做一個短鏈接生成器,可以將一個長鏈接縮短成一個短鏈接。

要發車了

 

發車前,和大家說一下

如果不想重復的造輪子,想開箱即用,可以使用基於 PHP 的開源軟件 YOURLSYOURLS 還可以和 WordPress 整合到一起,功能強大,可擴展性高。

本文記錄了開發短網址系統的整個過程,包括初期的算法調研、模塊設計、數據庫設計、功能擴展等。

什么是短鏈接

 

就是把普通網址,轉換成比較短的網址。比如:這種,在微博這些限制字數的應用里。好處不言而喻。短、字符少、美觀、便於發布、傳播。

百度短網址 
谷歌短網址服務  號稱是最快的

 

原理解析

當我們在瀏覽器里輸入 http://t.cn/RkCdbRA 

  1. DNS首先解析獲得 http://t.cn 的 IP 地址
  2. 當 DNS 獲得 IP 地址以后(比如:74.125.225.72),會向這個地址發送 HTTPGET 請求,查詢短碼 RkCdbRA
  3. http://t.cn 服務器會通過短碼 RkCdbRA 獲取對應的長 URL
  4. 請求通過 HTTP301 轉到對應的長 URL https://share.earnrmb.us 。

這里有個小的知識點,為什么要用 301 跳轉而不是 302 吶?

301 是永久重定向,302 是臨時重定向。短地址一經生成就不會變化,所以用 301 是符合 http 語義的。同時對服務器壓力也會有一定減少。
但是如果使用了 301,我們就無法統計到短地址被點擊的次數了。而這個點擊次數是一個非常有意思的大數據分析數據源。能夠分析出的東西非常非常多。所以選擇302雖然會增加服務器壓力,但是我想是一個更好的選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM