短连接大家都不陌生,例如新浪的 t.cn 、京东的 3.cn 、淘宝的 tb.cn 等等。都已经是家喻户晓的短连接域名。不知道有多少人像我一样,对短连接原理好奇而且尝试自建了呢?
今天发布这个文章的目的,就在于分享一下我的自建短连接过程。首先解释下短连接的实现原理,相信很多读者,在看完原理之后,已经有能力自己编写这样一个工具出来。
- 短连接构成:协议+域名+参数
例如:我的阿里云幸运券连接http://wzfw.ltd/qjyl 。就是由“http://” + “ wzfw.ltd” + "qjyl"三个部分组成。其中http为协议,也可以是https。wzfw.ltd为域名,我手里暂时没有更短的限制域名,就暂时使用这个了。最关键的是最后一部分“qjyl”,我暂时称作他为code。其实这个code就是一个数据库里的唯一标识列
- 短连接用途
最简单的用途就是他的名字直译“短”的“链接”,可以把长长的一串链接缩短成为几个简单的字符。但今天我要说的用途不是缩短,而是统计用量,关于这一点待会说到实现原理时候会重点解释。另外,偶然发现还有一个作用,就是突破域名屏蔽,关于这一功能点,纯属巧合。当下微信里传播的很多假红包假活动网站,都是类似于短连接这种多级跳跃方式突破的域名封锁。
- 短连接原理
创建一张数据库表,仅需要有2列即可:code列和url列。
code列也就是标识列,建议直接设置为非自增主键。用于存储短连接参数代码,也就是短连接里的code。url列用于存储要跳转的原始url。此处我是出于自用目的,因此不做额外限制。
短连接原理非常简单,就是用户访问短连接地址,到达我们的短连接网站,然后网站通过短连接里的code,查询数据库得到原始url,然后让网页跳转到原始url即可。文章标题所说的链接推广分析功能,就是在这个过程中,记录访客的某些信息,例如:访问时间、访问的短链接、访客的IP、访客的UserAgent信息等。基于这些信息,配合推广方式,就可以辅助判断出什么时间,什么范围,什么人群的推广更有曝光效果。
- 自建短连接站点
自建短连接需要一下条件:
- 域名。尽量短,最好是连同空间一同完成备案
- 空间或者服务器。国内用,建议选择国内服务商。
- 网站源代码。.net 、java、php等网站开发语言均可。
- 数据库。不要求是否是sql,只要能完成键值对对照关系即可。
由于短连接是唯一中间连接,因此需要购买的空间或者服务器尽可能稳定,在这里,我插播一点广告信息,欢迎大家参考选购,算做是对本文的支持。
推荐大家使用阿里云的ECS,购买步骤如下
Step1:领取我的阿里云幸运券(http://wzfw.ltd/qjyl )
Step2:新用户199元一年特价ECS,1核2G(http://wzfw.ltd/ecs199 )
新用户和老用户另外三种配置特价机型可选(http://wzfw.ltd/ecs330),价目如下:
1核1G=330一年,660两年,800三年
1核2G=660一年,960两年,1320三年
2核4G=825一年,1260两年,1650三年
Step3:新用户用券下单完成可抽奖(抽奖地址:http://wzfw.ltd/jiang)。目前奖品中,小米电源和阿里云T恤衫概率很高。
广告结束,欢迎回来!
实现代码:以.net为例,开发工具VS2015,采用 MVC5.0 建站,代码直接上图:
1,添加路由:
2,记录日志,代码和日志截图
3, 短连接功能实现,为便于展示,这里使用测试代码,实际代码替换为数据库查询即可(截图中,红框2内容)
文章到此结束,相信到了这一步,不需要我分享源代码,具备开发能力的你也可以制作出自己的短连接工具网站了。目前我的短连接站点虽然简陋,但是已经足以实现我统计推广的目的。文中不可避免的出现了我的推广广告,还请各位多多包涵!在此感谢您的阅读和支持!