加载中…
个人资料
bluemonster
bluemonster
  • 博客等级:
  • 博客积分:0
  • 博客访问:282,529
  • 关注人气:39
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

网址缩短服务(url shorten)的大致原理

(2010-10-01 15:31:56)
标签:

网址缩短服务

短地址

原理

it

分类: 实验室

今天看到新闻说谷歌的网址缩短服务(http://goo.gl/)向公众开放了,就想看看这短地址是怎么一回事,因为玩新浪微博的时候也经常碰到这个东西。

用我的博客地址http://blog.sina.com.cn/bluemonster0808生成的短地址是goo.gl/HdAU(值得注意的是同一个长地址每次生成的短地址都不一样,谷歌不加上重复网址判定可能主要是考虑到时间的问题吧。目前是4位长度,由A~Za~z0~9组成,只能容纳624,一千多万个地址,未来应该会增加长度) 

ADDED 20101002

最新发现,现在同一个长地址每次生成的短地址都是一样的了,谷歌增加了重复判定。比如http://blog.sina.com.cn/bluemonster0808现在每次生成的都是http://goo.gl/PiOA,但是之前的http://goo.gl/HdAU仍然可以使用

通过抓包发现,首先是DNS解析goo.gl,得到74.125.153.13874.125.153.102google的服务器地址。然后向其中的一个发送HTTP GET请求,查询HdAU,服务器随之返回一个301页面跳转回应,告知浏览器跳转到对应的长地址http://blog.sina.com.cn/bluemonster0808。原理挺简单的,主要是一个长地址到短地址的转换算法和一个数据库存储、查询。但是要想做的稳定好用应该还是要花很多功夫的。

 

有一个发现,用IE内核浏览器(我试了IE8和搜狗),在访问一个网址前,360都会插手,都要先DNS解析qurl.f.360.cn这个网址,发现它是qurl.qh-lb.com的别名,ip221.194.173.11221.194.173.13,然后向360的服务器发送post消息,post /check_outchain.php,内容很多,但是不明白是什么意思。360的服务器只返回一个200 OK,然后服务器主动断开连接。这难道就是360上网安全保护么?我表示有点怀疑,因为如果要检查网址的合法性,只需要把这个网址报告给360的服务器让其检查即可,检查完了360应该返回一个正确的消息(当然,如果网址合法的话360服务器直接关闭连接也是合理之举),错误的话返回一个失败的消息。但是观察post包,里面并没有我要访问的网址信息,有很多我并不知道什么意思的内容。

还有一个发现是搜狗浏览器的代理果然牛逼啊,用搜狗访问google的短网址,不是从谷歌的服务器上直接获取对应的长地址的,而是经过118.228.148.62这个代理服务器中转得来。到ip138上查询118.228.148.62是搜狐的服务器。

ADDED 20101211

网上看到有人自己动手做了一个网址缩短的东西http://www.evlos.org/2009/12/20/finished-my-own-urlshort/,虽然挂掉了,但是值得一看

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有