前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小知识科普:随处可见的短ID和短网址

小知识科普:随处可见的短ID和短网址

作者头像
帅地
发布2019-11-22 15:56:12
1.6K0
发布2019-11-22 15:56:12
举报
文章被收录于专栏:苦逼的码农苦逼的码农
来源:后端技术指南针 作者:后端技术指南针

生活常见场景

生活场景一

早上收到快递小哥的短信说快递被放在了A地的丰巢快递柜,然鹅这个快递柜我并不知道在哪里。

于是想到用快递单号查询一下物流信息,但是这个快递单号是长达14位的十进制数字。

当时就很纳闷,为什么要用14位长度的10进制数字来表示单号?站在快递公司的角度我做了如下推测:

1、可以从单号快速知道物品发货时间?(貌似没有看到时间线索,除非做了编码,但是应该不会…) 2、可以从单号获得起止地点?(可能是内部地点编码 反正消费者不关心) 3、可以从单号获得相关人员信息?(可能是内部人员编码 反正消费者不关心)

到这里,我暂时没有找到为什么必须使用这么长串数字的理由,于是搜狗一下(不是百度一下),看到这个问题:

在这里插入图片描述 确实有一样疑问的人,但是对于这个回答算是同意一半吧,核心意思是为了去重,不过做法有些因噎废食了。

生活场景二:

双11临近手机上的推广短信也越来越多,随便看几个:

在这里插入图片描述

在这里插入图片描述 可以看到上面的两条典型的短信,其中的显示的网址都很短,和前些年的连接不一样,因为前些年的链接大概和一根挂面那么长。

好奇地点开了其中一条淘宝的短信,然后跳转了:

在这里插入图片描述 可以看出来短ID短网址在生活中是普遍出现的,作用也非常明显,比如微博这种有140字限制的,粘贴一个链接可能花掉了100个字; 对于推广商发送短信按照字数计费,同样的长网址进行相同数量的推广,产生的通信费可能是短网址的数倍。

综上可知,短网址和短ID相当于间接提高了带宽的利用率、节约成本

短网址和短ID的原理

1、六十二进制表示法

前面提到的快递单号和短信链接就引出了今天要说的短网址和短ID,顾名思义短网址就是非常短的网址,比如http://t.cn/EXyAO7T,其中核心的部分EXyAO7T只有7位长度。

其实这里的7位长度是使用 62 进制来表示的,就是常用的 0-9、a-z、A-Z,也就是 10 个数字 + 26 个小写 + 26 个大写 = 62 位。

那么7位长度62进制可以表示多大范围呢?

62^7 = 3,521,614,606,208(合计3.5万亿),这样的话只要算法得当,短网址冲突的概率就很低了。

至于短网址的长度可以根据自己需要来调整,即使6位长度62^6也能达到568亿的范围,所以回答了上面快递单号的问题。

如果有弱加密需求,不想让人明确知道转换前是什么,使用方可以按照自己的需求来调整62进制各位代表的含义,比如A站点将字母c表示32、B站点将字母c表示60,就相当于密码本了。

2、更大进制表示法

看到这里你或许会说,使用108进制(如果有的话)岂不是网址更短,是的,但是108个进制就可能会出现大量的不常用字符 比如 # % & * 这些,通用性和记忆性就变差了,62进制是个权衡折中,已经足够无需过设计。

关于跳链

当打开淘宝的短网址时页面出现了跳转,出现了新的页面,浏览器显示的新网址并不是你打开的短网址了,也就是发生了301/302跳转。

http中返回码301是永久重定向,也就是短网址和长网址是一一对应的,http返回码302表示是临时重定向,也就是可能过段时间短网址就失效了。

由于数据统计和活动临时性等特性,302短网址应用更多,但是302临时短网址对于主站点的SEO有一定的影响,过分使用也会降低站点排名。

所以短网址在平时站点搞活动或者分享页时应用比较多,微博、淘宝、微信基本上都是短网址。

短连接的安全性

虽然短链接便于传输和记忆,但是位数少并且无明确站点信息,容易出现猜测攻击和钓鱼攻击,比如一些黑基站发送短信,如果是短链接点开可能就跳转到非可信任网址,因此不建议使用短链接发送传输核心敏感数据,即使传输也要做好权限鉴别,加强安全处理,软件工程没有银弹,还是要辩证看待。

结语

本文并没有对如何保证短链接和短ID唯一性、生成算法、鉴权等进行详细介绍,仅做抛砖引玉,现实中有很多短链接服务商包括百度、微博、谷歌等,感兴趣的可以进行查阅。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅地玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 短网址和短ID的原理
  • 关于跳链
  • 短连接的安全性
  • 结语
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档