短网址的原理

 什么是短网址?

将一个比较长的链接转化为一个较短的新链接,这个新链接就是短网址,并不是说,短网址一定是比原网址长,完全看原网址简不简短。

 

短网址的场景

 1、原链接很长,影响阅读体验或者存在字数限制,可以考虑用短网址

 2、想要隐藏真实链接,可以考虑用短网址

原网址:https://www.cnblogs.com/murenziwei/

生成的短网址:http://t.hk.uy/guF

 (用的第三方服务器转的短网址,不晓得时效期是多久~~)

 

短网址的原理

需要一个服务器,生成一个短链接,重定向原链接。短链接与原链接存在一个映射关系的,访问短链接的时候,直接从数据库拿出来一个对应的原链接并且重定向。

但是,这里有个比较难的地方,就是短链接的生成,要如何保证简短和唯一性呢?只要你有想法,可以自己实现。我这里采用的比较简单,直接搞数字递增和进制转换~~

我是从10000开始的,第一个短网址是10000、第二个短网址是10001...,因为我看只有数字没有字母有点感冒,所以就搞了个16进制。我这里就贴个JavaScript的进制代码出来,

进制转换的功能蛮容易,原理都差不多。

复制代码
//10进制转换16进制
function
switch_sl(num){
var system = 16;
var shiliu=[ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' , 'A', 'B', 'C', 'D', 'E', 'F', 'G'],sl_arr=[]; do{ var fl_sl=Math.floor(num/system); var yu_sl=num%system; sl_arr.unshift(shiliu[yu_sl]); num=fl_sl; }while(num>0) return sl_arr.join(''); }

switch_sl(20000);//4E20

//16进制转换10进制
function switch_ten(num){
var sl_obj = {

A:10,

B:11,C:12,
D:13,
E:14,
F:15,
G:16
},sl_num = 0;
var sl_arr = num.split('');
var sl_len = sl_arr.length-1;
sl_arr.forEach((v,i)=>{
var tar = v;
if(sl_obj[tar]){
tar = sl_obj[tar];
}
sl_num+=Math.pow(16,(sl_len-i))*tar;
});
return sl_num; }

switch_ten('4E20');//20000
 

 

复制代码

 

posted @   木人子韦一日尘  阅读(1290)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示