营销短信中的链接为什么能那么短?
前言
FT12短网址的小编发现短信已经被越来越多的人所冷落,只要短信声音一响,下意识里就知道应该是营销短信来了。
今天小编给大家介绍一下营销短信中的网址为什么能那么短!
http://u6.gg/baidu
当我们打开短网址时,网页会直接跳转到你要缩短的网址,就如打开上面的短链接,其会通过重定向的方式如 302 跳转到天猫的一个页面网址(相对短网址来说,所对应的网址长的多)
http://u6.gg/baidu 其是通过 302 的方式,即临时重定向的方式进行跳转的。目的就是为来能够在跳转前做一些短网址打开的次数统计,这些统计数据能够成为大数据分析的数据源,从而分析用户的生活习惯兴趣爱好。
短网址的原理
那么,短网址是如何生成的呢?短网址服务是如何将那么多的长网址对应到相应的短网址呢?这里简单说明下:
短网址通常结构如下:域名/短网址id。
短网址 id 其通常由 26 个大写字母 + 26 小写字母 +10 个数字 即 62 种字符组成,随机生成 6 到 7 个,然后组成对应一个 短网址 id,并存入相应的数据存储服务中。
当短网址被访问的时候,短网址的解析服务,会根据 id 查询到对应页面从而实现相应的跳转。
如何保证短网址 id 不重复
事实上,假如短网址 id 为 6 位,那就是共有 62^6 个短网址。超过这个数目的网页可能性并不大。但在生成即发放短网址的时候,需要保证能够发送不重复的短网址 id。
为了保证不冲突和重复,大多数短网址服务都会采用自增的方式来分发 id,如第一个使用这个服务的人得到的短地址是 http://xxx/0 ,第11个是 http://xxx/a 等依次生成。
对于大多数小型的短网址服务,直接使用 mysql 的自增索引就可以保证不冲突,但这种方式不太适合大型的应用。因为每次操作都需要涉及数据库的增删的资源损耗。因此对于一些大型应用,我们可以通过一些分布式 key-value 系统做短网址的分发。同时不停的自增就可以来。
如何分布式生成不重复的短网址?
如果生成短网址的服务是分布式的(用户量很大,只有一台生成一台不够用,如天猫、新浪微博),那么每个服务节点要保持同步自增,而不起冲突。是怎么做的呢?
事实上我们可以这样做。加入我们要实现有 5 台分布的短网址服务,此时我们让:
服务 1,从 1 开始发放,然后每次自增 5 即 1、6、11、16...
服务 2,从 2 开始发放,然后每次自增 5 即 2、7、12、17...
服务 3,从 3 开始发放,然后每次自增 5 即 3、8、13、18...
服务 4,从 4 开始发放,然后每次自增 5 即 4、9、14、19...
服务 5,从 5 开始发放,然后每次自增 5 即 5、10、15、20...
这样每个分布的服务都能够独立工作,从而互不干扰。从而实现分布式发放。
公共短网址服务
正如前面所说,市面上有许多短网址的服务商。如下所示:
1、 ft12短网址服务 www.ft12.com
ft12短网址集成了多种类型的短链接,每次同样的网址生成的短网址都是不一样的
2、新浪 短网址服务 / t.cn
而新浪的则是一定时间内,同样的网址生成的短网址都是一样的。且支持短网址后缀选择。