浅析短网址技术

2016年10月17日来源:980短网址原创分类:短网址生成技术阅读(80评论(0

  你知道类似980的短网址是怎样实现的吗?这个问题我以前也思考过,今天就简单的分享一下我的答案。短址刚出来的时候,对计算机有了部分了解,看到980的这种短网址,当时觉得很神奇,不知道是怎么实现的,然后我就认为他是通过自己搭建DNS这些来搞定的,后来,当我自己能解决这种问题的时候,就知道其实方法有很多种,完全可以根据自身业务场景及业务量来觉定使用何种方式。话不多说,现在就来说说980短网址是怎样实现的。

短网址技术

  980的短网址最多的使用的 980.so 这个域名来实现的,当然980还有其他的短网址,只是 980.so 是用得最多的。我们平时见到的980短网址是类似于 http://980.so/xxxxxx的形式,通过这个网址就可以访问到几十上百个字符的网页,是不是觉得挺好玩?别慌,下面,我将通过讲解,让你自己也能了解短网址的基本原理,甚至你还可以实现它,到时候你就会发现,原来我们以为高大上的技术不过如此。

  首先,准备好一个用于短网址服务的域名,就像980的980.so ,我们没钱买这种好域名,也可以用自己的域名搭建,比如,我就可以用 url.smyime.com 来完成短网址,但是因为域名确实太长了,所以短网址也会变成长网址,也就没人会用吧。有了域名,我们下一步就是组成短网址的形式,类似于这种 url.smyme.com/xxxxxxxx ,怎样实现呢?

  假设我们要对 http://www.baidu.com/imgaes/axcasucaiusui.html 进行短网址压缩,压缩算法有很多,我就不深究它的具体算法了,我们只需要对输入的url链接生成一个唯一的值即可,比如用MD5之后再加上其他算法,形成1~8位的字符+数字的组合,这样就可以得到一个短网址了。

  短网址有了,压缩算法并不复杂,至于去重和唯一值有多种方式可以实现,就不累述了。那么,还有一个问题,当用户点击短网址的时候,怎么跳转到对应的url呢?比如我点击 http://url.smyme.com/xxxxxxxx 这个链接,跳转到 http://www.baidu.com/imgaes/axcasucaiusui.html 这个链接。

  这个其实并不难,当生成了一个短网址之后,我们肯定要用一个存储介质,不是是文本、关系型数据库还是类如Redis这类分布式缓存数据库,总之就是要有一个东西存储短网址与原地址关系的介质。比较好的是用Redis之类的来实现,但是现在这里我们测试,用mysql就行了,假设有一张表里面有key和value这两个字段,key就是生成的1~8位的短网址字符组合,value就是对应的原网址。

  那么,怎样通过访问短网址跳转到真实地址呢?

  这涉及到DNS的解析原理,假设在浏览器网址栏输入 http://url.smyime.com/xxxxxxxx ,DNS会去获得这个域名的IP地址,假设他获取到127.0.0.1,当然这是假设。然后DNS就会像127.0.0.1发送请求,查询xxxxxxxx,然后,我们的短网址服务器会解析得对应的url长连接,然后通过301跳转到原网址。当然,这是比较方便高效的做法,你也可以直接在程序中完成跳转,但是效率可能会很慢。

  短网址的原理其实就是这么简单,并没有什么复杂的地方,主要是在生成短网址的时候,要考虑短网址长度、生成算法和重复问题,具体的短网址生成算法可以在网上找比较成熟的算法来用,考虑清楚之后再进行短网址的生成和解析就简单得多了。

上一篇:你知道怎么得到短网址和还原短网址吗?

下一篇:超简单,自定义你想要的短地址

精彩评论
评论
热门文章
980安全专家教您认识短链接安全
防护恶意网址用短链接欺骗的对策
对付恶意短链接我有妙招
蓝瘦、香菇,每天和短链接技术打交道
短信利用短网址撬动移动营销市场
文章归档
2016年12月
2016年11月
2016年10月
2016年09月
2016年07月
2016年06月
热门标签
短网址
短链接
网址缩短
短网址服务
短网址应用
短网址营销
短网址生成
缩短网址
短链接生成
短网址还原
短网址检测法
自定义短网址