短鏈結實現方法

2021-08-21 07:44:17 字數 416 閱讀 2211

短鏈結只有十幾位,有時候卻可以代替幾十位上百位字母的url進行使用,之前一直沒注意,今天想起來研究一下。

略微搜尋資料,發現短鏈結並不是包含了原來幾十位上百位的url的全部資訊,而是短鏈指向乙個跟你原鏈結可能完全不同的ip,短鏈中攜帶的引數經這個ip的服務解析後,或是還原,或者根據key找value,得到短鏈所代表的原鏈結,再傳送301重定向請求,指向你所想請求的正式位址。

www.goo.gl   --   谷歌的短網域名稱服務

所以理論上來說,做到兩點,你也可以提供短鏈的服務:

1.有乙個超短的網域名稱,如 a.cn / b.cn  :

短鏈結依然是要通過dns解析的,網域名稱夠短短鏈才能貨真價實

2.有乙個能根據value計算出不重複key的演算法

是否可反向解析根據你的喜好

短網域名稱開源專案:yourls

php實現短鏈結系統

實現思路 將傳入的長鏈結存入資料庫中,並記錄建立時間,返回自增id。將返回的id進行10進製轉64進製編碼 如自增id為10時,64進製轉換為a 即使當我們記錄到1億條時,1億的64進製為 f9eea,才5個字元長度,非常適合作為短鏈結的引數。然後組合成 http 網域名稱 編碼引數 我們既得到了短...

php mysql 短鏈結 PHP生成短鏈結案例

首先我們建立的檔案有三個,api檔案 生成短連線呼叫 index檔案 訪問短連線時跳轉使用 config檔案 連線資料庫用的 呼叫方法 網域名稱 api.php?url nginx規則 location elseelseelseelse echo json encode array code 201...

長鏈結轉短鏈結

將長鏈結轉化成短鏈結 風之子 2012 短鏈 短位址 short url 杭州.mark 演算法大致如下 1 將長 md5生成32位簽名串,分為4段,每段8個位元組 2 對這四段迴圈處理,取8個位元組,將他看成16進製制串與0x3fffffff 30位1 與操作,即超過30位的忽略處理 3 這30位...