您好,登錄后才能下訂單哦!
這篇文章主要講解了“短網(wǎng)址short URL系統(tǒng)的原理是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“短網(wǎng)址short URL系統(tǒng)的原理是什么”吧!
背景
短網(wǎng)址生成,用來(lái)將輸入的一個(gè)長(zhǎng)網(wǎng)址轉(zhuǎn)換為一個(gè)短網(wǎng)址,當(dāng)用戶(hù)請(qǐng)求這個(gè)短網(wǎng)址時(shí),服務(wù)查詢(xún)出真實(shí)的url;
算法原理:
算法一:
1. 將長(zhǎng)網(wǎng)址md5生成32位簽名串,分為4段, 每段4個(gè)字節(jié)(即32位);
2. 對(duì)這四段循環(huán)處理, 取4個(gè)字節(jié)(32位), 將他看成16進(jìn)制串與0x3fffffff(30位1)與操作, 即超過(guò)30位的忽略處理;
3. 這30位分成6段, 每5位的數(shù)字作為字母表的索引取得特定字符, 依次進(jìn)行獲得6位字符串;
4. 總的md5串可以獲得4個(gè)6位串; 取里面的任意一個(gè)就可作為這個(gè)長(zhǎng)url的短url地址;
算法二:
把數(shù)字和字符組合做一定的映射,就可以產(chǎn)生唯一的字符串,如第62個(gè)組合就是aaaaa9,第63個(gè)組合就是aaaaba,再利用洗牌算法,把原字符串打亂后保存,那么對(duì)應(yīng)位置的組合字符串就會(huì)是無(wú)序的組合。
把長(zhǎng)網(wǎng)址存入數(shù)據(jù)庫(kù),取返回的id,找出對(duì)應(yīng)的字符串,例如返回ID為1,那么對(duì)應(yīng)上面的字符串組合就是bbb,同理 ID為2時(shí),字符串組合為bba,依次類(lèi)推,直至到達(dá)62種組合后才會(huì)出現(xiàn)重復(fù)的可能,所以如果用上面的62個(gè)字符,任意取6個(gè)字符組合成字符串的話,你的數(shù)據(jù)存量達(dá)到500多億后才會(huì)出現(xiàn)重復(fù)的可能。
好處
1. 讓短鏈接生存更久,讓客戶(hù)推廣效果更好
2. 更安全,讓域名生存更久
3. 鏈接變短,在對(duì)內(nèi)容長(zhǎng)度有限制的平臺(tái)發(fā)文,可編輯的文字就變多了
4. 如果是長(zhǎng)鏈的話二維碼密集難識(shí)別,短鏈就不存在這個(gè)問(wèn)題了
5. 鏈接太長(zhǎng)在有些平臺(tái)上無(wú)法自動(dòng)識(shí)別為超鏈接
感謝各位的閱讀,以上就是“短網(wǎng)址short URL系統(tǒng)的原理是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)短網(wǎng)址short URL系統(tǒng)的原理是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。