使用.net编写的 短连接(短网址)服务

        短连接大家都不陌生,例如新浪的 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内容)

        文章到此结束,相信到了这一步,不需要我分享源代码,具备开发能力的你也可以制作出自己的短连接工具网站了。目前我的短连接站点虽然简陋,但是已经足以实现我统计推广的目的。文中不可避免的出现了我的推广广告,还请各位多多包涵!在此感谢您的阅读和支持!

时间: 2024-10-18 05:03:52

使用.net编写的 短连接(短网址)服务的相关文章

长连接与短连接

什么是长连接,什么是短连接?   TCP/IP通信程序设计的丰富多样性.刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程序,据此一些人可能会认为TCP/IP编程很简单.其实不然, TCP/IP编程具有较为丰富的内容.其编程的丰富性主要体现在通信方式和报文格式的多样性上. 一.通信方式 主要有以下三大类: (一)SERVER/CLIENT方式 1.一个Client方连接一个Server方,或称点对点(peer to peer): 2.多个Client方连接一个Server方,这也是通常

《MySQL DBA修炼之道》——1.5 长连接、短连接、连接池

1.5 长连接.短连接.连接池 当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信.客户端必须使用数据库连接来发送命令和接收应答.数据.通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了.可以查阅程序语言手册来获知通过何种方式使用短连接.长连接.1.5.1 短连接 短连接是指程序和数据库通信时需要建立连接,执行操作后,连接关闭.短连接简单来说就是每一次操作数据库,都要打开和关闭数据库连接,基本步骤是:连接→数据传 输→关闭连接. 在慢速网络下使用短连接

python用两种方法实现url短连接

几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户点击这个新的短地址后,短地址服务会根据短域名后面的几个字符串从数据库中读出原来的地址然后页面进行跳转 . 比如新浪微薄中的url 是 http://t.cn/xxxxxxx  t.cn是其域名 ,其后面跟着的是7位算出来的字符串. 今天我们用python使用两种方法来实现这个功能. 方法一:使用哈希库自定义算法

云大师幸运券推广链接分析工具 - 自建短连接

各位云大使好! 相信各位云大使同行,在推广过程中,跟我一样苦恼过没有合适的工具或者方法进行推广效果统计.今天我将为大家分享一下我最新发现的统计方法. 最早推广过程中,本无意统计.推广方式为同专业同学,技术同行Q群等方向发布推广链接,配上简短的说明,非常原始.发布的出来是下面这个样子: 阿里云幸运券: https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ta5rjs45&utm_source=ta5r

http长连接与短连接

http长连接与短连接  一.长连接与短连接: 长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于通讯连接一直存在.此种方式常用于P2P(点对点)通信. 短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接.此方式常用于一点对多点通讯.C/S通信.  二.长连接与短连接的操作过程:  短连接的操作步骤是: 建立连接--数据传输--关闭连接...建立连接--数据传输--关闭连接  长连接的操作步

HTTP长连接和短连接(转)

1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致.TCP有可靠,面向连接的特点.   2. 如何理解HTTP协议是无状态的 HTTP协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态.也就是说,打开一

ASPX调用sms.dll的连接短信猫的问题

问题描述 我用winfrom可以连接短信猫,连接函数返回值是1,但是我在aspx里就是连接不上返回值始终是0,我把sms.dll文件已经放到system32文件里,也放到bin文件里了.求高手帮助,万分感谢!代码如下:publicpartialclassBmtz:System.Web.UI.Page{[STAThread][DllImport("sms.dll",EntryPoint="Sms_Connection")]publicstaticexternuintS

提高短连接性能方法的测试

创建测试脚本 通过在三个会话中同时执行test_login.sh脚本,模拟当数据库多个短连接情况性能 [oracle@xifenfei tmp]$ more test_login.sh #!/bin/bash echo "start login database `date`*********" >>/tmp/test_1.log e=2000 for((i=1;i<=$e;i=i+1)) do /tmp/login_oracle.sh done echo "

Redis短连接性能优化

对于Redis服务,通常我们推荐用户使用长连接来访问Redis,由于短连接每次需要新建链接所以短连接在tcp协议层面性能就比长连接低效,但是由于某些用户在连接池失效的时候还是会建立大量的短连接或者用户由于客户端限制还是只能使用短连接来访问Redis,而原生的Redis在频繁建立短连接的时候有一定性能缺陷,我们在云上就碰到用户短连接的性能问题. 1. 问题 通过历史监控我们可以发现用户在频繁使用短连接的时候Redis的cpu使用率有显著的上升 2. 排查 通过扁鹊查看但是Redis的cpu运行情况