读书人

好玩Internet小技巧 短域名的两种实

发布时间: 2012-10-07 17:28:51 作者: rapoo

好玩互联网小技巧 — 短域名的两种实现方式

?

最近看到一个网站tinyurl感觉蛮好玩的,就是把任意一个再长的域名都压缩成短域名方式,本文将基于tinyURL的API和完全自己开发两种方式介绍实现方式:

?

?

tinyURL API实现思路:但奇怪的是官方没提供API,Google了一下,找到API调用方式,实现代码如下(以下代码另存为UTF-8格式的HTML文件可执行运行查看效果):

?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD>  <TITLE> New Document </TITLE>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <META NAME="Generator" CONTENT="EditPlus">  <META NAME="Author" CONTENT="">  <META NAME="Keywords" CONTENT="">  <META NAME="Description" CONTENT="">  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  <script type="text/javascript">     function getTinyURL(){$("#ss").load("http://tinyurl.com/api-create.php?url="+$("#url").val()); }  </script> </HEAD> <BODY>   输入一个可访问的任意域名:   <input type="text" id="url" style="width:350px;" value="http://" />   <button onclick="getTinyURL()">获取短域名</button>    <div id="ss"></div> </BODY></HTML>

?

可以直接运行,比如本博客的这篇文章对应的短域名:http://tinyurl.com/3x4r5wy

?

?

上面一种实现方式有固有的缺陷,就是前缀域名都是tinyurl,那么可以实现自己的么,答案当然是肯定的,这里主要涉及到两个最基本的技术点:编码和URL rewriter,自己如何实现呢,首先定义URL writer规则
    <rule>            <from>/url/(.*)</from>            <to>/url/index.jsp?url=$1</to>    </rule>
?

然后编码可以基于base36或base64实现,随便你了,然后就是根据短域名在数据库里查询到长域名,利用response的redirect进行转向即可,是不是很简单呢!

?

最后完全利用自己思路实现的效果:http://u.faqee.com/addURL.jsp

?

这种技术被广泛应用与sina微博,twirtter,qq微博等多种大型应用上哦!

?

是不是蛮好玩的:)

?

还是没看出这个到底是何用。是为了解决什么问题

读书人网 >互联网

热点推荐