首发于微信公众号:【码农在新加坡】,欢迎关注。
个人博客网站:后端面试之系统设计-短网址(Short URL)服务怎么设计?
背景
短网址(short url),就是将长网址缩短为一个很短的网址,用户访问这个短网址可以重定向到原本的长网址(还原)。
可能你会问了,短链接有哪些使用场景呢?
事实上你一定见到过短网址,比如短信里面的网址,微博里面的链接。
短网址可以减少文本字数,隐藏链接参数等,有利于短信推广的作用,常用于有字数限制的短信、微博、二维码等场景。
比如我收到以下的短信:
点开短信链接:http://tb.cn/9GLkgHx
对应的实际的网址就是:
http://huodong.m.aliyun.com/act/v3jtax.html?gotoUrl=aliyun%3A%2F%2Fforward%2Ff6b8f0a4fa8cfd25da51a182807d5c25%3Ftarget_%3D%2Fapp%2Fhome%26tab_%3Dconsole
短信里面的那个url就是短网址,而实际的网址却又非常长。我们就需要一个服务去接收短网址,并转换成长网址访问。
我们常见的短网址如下,可以看到,短网址的域名都很短。
- 微博 http://t.cn/
- 谷歌 https://goo.gl/
- 淘宝 http://tb.cn/
- 等等。。。
原理
实践是最好的老师,我们自己实践一下,看一下浏览器输入短网址转换成具体的长网址的流程。
生成
我们随便选择一个开放的短网址转换服务: