短链接系统的研究

一、短URL系统的原理:
短URL系统的核心是将长的 URL 转化成短的 URL;在访问系统时,先使用短地址A访问短URL系统,由短URL系统映射到对应的长地址B,然后客户端再重定向(301或者302)到B网址,如下图所示:

 

二、短 URL 的好处:
1、链接变短,对于有长度限制的平台发文,可编辑的文字就变多了

2、短链接生成的二维码更易于识别,而长链接的二维码密集难识别

3、短链接更加简洁好看且安全,不暴露访问参数。

4、能规避关键词、域名屏蔽等手段

5、链接太长在有些平台上无法自动识别为超链接

三、短 URL 系统的设计与实现:
系统核心实现思路:使用发号器发号 => 为每个长地址分配一个号码ID => 将号码与长地址存放在DB中 => 将号码转化成62进制,用户表示最终的短地址并返回给用户(假设短地址长度为8位,62的8次方足够一般系统使用了) => 用户使用62进制的短地址请求服务 => 将62进制的数转化成10进制 => 在DB中寻找对应的长地址 => 将用户请求重定向到对应的地址上

短链接服务在使用时,一般使用重定向:301 和 302
301永久重定向和 302 临时重定向。

301永久重定向:第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器的缓存里拿,减少对服务器的压力。
302临时重定向:每次去请求短链都会去请求短网址服务器(除非响应中用 Cache-Control 或 Expired 暗示浏览器进行缓存)
使用 301 虽然可以减少服务器的压力,但是无法在 server 层获取到短网址的访问次数了,如果链接刚好是某个活动的链接,就无法分析此活动的效果以及用于大数据分析了。而 302 虽然会增加服务器压力,但便于在 server 层统计访问数,所以如果对这些数据有需求,可以采用 302,因为这点代价是值得的,但是具体采用哪种跳转方式,还是要结合实际情况进行选型。

目前做了一个测试站点:https://zzdwz.cn和http://u5p.cn

posted @ 2022-05-19 23:37  124882511  阅读(72)  评论(0编辑  收藏  举报