微博短链接怎么弄,微博短链接生成

短网址技术其实非常的简单,我们可以将这个技术分成两部分,第一部分是长网址的压缩,也就是如何把长连接地址压缩成短连接地址,第二部分是如何把访问短链接地址的时候又重新变成访问长链接地址。

哈希算法

微博短链接怎么弄

最常见的短网址实现方案便是使用哈希算法,相信学过算法与数据结构的同学对这个算法并不陌生,哈希算法可以把非常长的文本甚至文件映射成一个字符串或者数字,这种算法并不陌生,我们常见的文件md5算法也属于哈希算法中的一种。

但是md5比较长,通常我们会使用murmurhash来进行哈希,这是一种比较轻量级的哈希算法。我们将哈希后的值跟长连接还有失效时间一起保存在数据库里面,后面通过哈希后的值,就能够找到对应的原始长链接地址了。

但是,这里还存在2个细节问题,首先是哈希地址冲突了怎么办?常见的哈希冲突解决方法,便是从后面一直找,找到一个空的插槽放进去,如果学过算法与数据结构,便知道这种算法比较不稳定,并且实现起来也麻烦。我们有一个更简单的做法,就是在原始链接后面再拼上一个自定义的字符串进行哈希。

微博短链接怎么弄

另外一个问题,便是murmurhash的哈希结果是一个32位的数字,只有0到9组成,如果似乎几千万的一个数字,也比较长,那么我们可以怎么办呢?我们可以把这个简单十进制数字转成更高的进制,把字母a到z与A到Z都用上,就可以把字符串压到非常短了。

重定向

那么如何访问一个短地址的时候变成一个长地址呢?同理也是非常的简单,运用到的便是网页重定向功能。

微博短链接生成

用户先使用短地址到后台查询,后台到数据库中进行查询后,便校验数据的合法性,例如数据过期之类的,紧接着返回长地址与重定向错误码,浏览器接受到错误地址后便开始重定向到真实地址。

总结

看,其实只要非常简单的算法跟存储,我们变成制作一个短地址服务器,如果你有兴趣,可以关注我,后面我们会用简单的代码进行实现。

创业项目、恋爱教程、投资理财、企业管理等VIP教程添加微信:1480998277  备注:学习

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2511786901@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.haipuo.com/2894.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

My title