「卓象程序员」长链接转短链接
时间: 2019-08-24 10:10:16 来源: 卓象IT实训基地【原创】
一、前言
短链接:顾名思义,就是将长链接缩短到一个很短的链接,用户访问这个短链接可以重定向到原本的长链接。这样可以方便访问,常用于有字数限制的微博、二维码等等场景。
二、短链接的使用场景
1、微博
我们在发微博的时候如果带上了一个链接,那么微博会自动判别是不是链接,并将其转换,例如:https://t.cn/RuPKzRW。那么微博为什么要这样做呢?
这是因为微博的限制字数为140字一条,那么如果我们需要发一些链接上去,但是这个链接非常的长,以至于将近要占用我们内容的一半篇幅,这肯定是户体验很差的,所以微博将这个长网址转换成了短网址展示在你发的微博上,往下看:
(1)首先,我先发一条微博带有一个URL地址:
(2)然后,看他转换之后显示的效果如下?
(3)查看对应页面元素的HTML源码如下:
(4)可以看出:http://zxkj.hhphp.top 被转换为:http://t.cn/AiQX6l9q,此时你访问http://t.cn/AiQX6l9q是可以定位到http://zxkj.hhphp.top,也就是实现了转换。
2、短网址二维码
现在是移动互联网的时代,很多的地址访问人们都是用二维码来实现,如果一个网址很长,那么他对应的二维码也会很大很密,所以这时结合上长链接转短连接问题就解决了.
(1)商城里每一个商品的连接转换成短连接再变为二维码,用户扫起来更加方便.
(2)商城里的商品链接可以存储和这个商品有关的所有的信息,用户扫一扫不但能查询价格,还能查询原产地,保质期等等信息...
三、短地址的好处
除了上述场景中,我们将长地址转换为短地址的使用场景的优点(压缩URL长度)之外,短地址还具有很多实际场景中的优点,例如:
(1)节省网址长度,便于社交化传播,一个是让URL更短小,传播更方便,尤其是URL中有中文和特殊字符,短网址解决很长的URL难以记忆不利于传播的问题;
(2)短网址在我们项目里可以很好的对开放以及对URL进行管理。有一部分网址可以会涵盖性、暴力、广告等信息,这样我们可以通过用户的举报,完全管理这个连接将不出现在我们的应用中,对同样的URL通过加密算法之后,得到的地址是一样的;
(3)方便后台跟踪点击量、地域分布等用户统计。我们可以对一系列的网址进行流量,点击等统计,挖掘出大多数用户的关注点,这样有利于我们对项目的后续工作更好的作出决策;
(4)规避关键词、域名屏蔽手段、隐藏真实地址,适合做付费推广链接;
(5)当你看到一个淘宝的宝贝连接后面是200个“e7x8bv7c8bisdj”这样的字符的时候,你还会觉得舒服吗。更何况微博字数只有140字,微博或短信里,字数不够,你用条短网址就能帮你腾出很多空间来;
四、短链接服务提供平台
目前,国内网又很多提供短地址服务的平台,例如:
新浪:http://sina.lt/
百度:http://dwz.cn/
0x3:http://0x3.me/
MRW:http://mrw.so/
等等还有很多,这个可以搜索一下就会有很多!但是一个注意的是,如果使用某一个平台的短地址服务,一定要保证长期可靠的服务,不然一段时间失效了,我们以前已经转换的URL就完了!
五、生成短地址URL的原理
生成算法设计要点如下:
(1)利用放号器,初始值为0,对于每一个短链接生成请求,都递增放号器的值,再将此值转换为62进制(a-zA-Z0-9),比如第一次请求时放号器的值为0,对应62进制为a,第二次请求时放号器的值为1,对应62进制为b,第10001次请求时放号器的值为10000,对应62进制为sBc。
(2)将短链接服务器域名与放号器的62进制值进行字符串连接,即为短链接的URL,比如:t.cn/sBc。
(3)重定向过程:生成短链接之后,需要存储短链接到长链接的映射关系,即sBc -> URL,浏览器访问短链接服务器时,根据URL Path取到原始的链接,然后进行302重定向。映射关系可使用K-V存储,比如Redis或Memcache。
六、生成短地址之后如何跳转?
对于该部分的讨论,我们可以认为他是整个交互的流程,具体的流程细节如下:
(1)用户访问短链接:http://t.cn/AiQX6l9q;
(2)短链接服务器t.cn收到请求,根据URL路径AiQX6l9q获取到原始的长链接(KV缓存数据库中去查找):http://zxkj.hhphp.top;
(3)服务器返回302状态码,将响应头中的Location设置为:http://zxkj.hhphp.top;
(4)浏览器重新向http://zxkj.hhphp.top使用301发送请求;
(5)返回响应;
每日分享技术干货~
报名卓象免费训练营课程
学习最新热门IT技术
找一份自己满意的高薪工作
15天免费学习!!
卓象程序员
★ 零基础,随时体验
★ 免费试听,满意后再报名
★ 小班授课,学习氛围浓厚
★ 口碑相传,80%学员来自口碑推荐
★ 教学严管,闯关式学习保障学习效果
★ 公司地点,哈尔滨市东直路123号7楼