URL缩短:这是如何实现的?

问题描述:

可能重复:
How do short URLs services work?URL缩短:这是如何实现的?

我经常看到从bitly.com短网址如http://bit.ly/abcd。在服务器端如何实现这个“bit.ly”?它里面有一些DNS技巧吗?

是的..其实如果你去https://bitly.com/你会注意到它提供了这个URL缩短服务。

前往http://bit.ly/abcd只是将其重定向到您选择的URL。您可以通过查看HTTP请求和响应头约状态码和

Request URL:http://bit.ly/abcd 
Request Method:GET 
Status Code:301 Moved 
Request Headersview source 
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Host:bit.ly 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1 
Response Headersview source 
Cache-control:private; max-age=90 
Connection:keep-alive 
Content-Length:145 
Content-Type:text/html; charset=utf-8 
Date:Thu, 16 Jun 2011 21:14:04 GMT 
Location:http://macthemes2.net/forum/viewtopic.php?id=16786044 
MIME-Version:1.0 
Server:nginx 
Set-Cookie:_bit=4dfa721c-001f7-011f8-c8ac8fa8;domain=.bit.ly;expires=Tue Dec 13 16:14:04 2011;path=/; HttpOnly 

http://www.w3.org/Protocols/HTTP/HTRESP.html会谈算起来301是什么,你应该寻找

你去http://bit.ly/? url shortener将长url存储在数据库中,然后当使用short url时,url shortener服务会执行http重定向到long url。

LY是top-level domain for Libya,与bitly.com不同。

bit.ly就像任何其它一个域(即:.com或.net .FR)

在这种情况下.ly属于利比亚。

不,它只是查找abcd在数据库中的HTTP服务器,发现http://example.com/long/url,并发送一个HTTP重定向答案,像

HTTP/1.1 301 Moved Permanently 
Location: http://example.com/long/url 

看起来他们使用A-ZA-Z0-9为生成他们的URL,如果我的计算是正确的,这意味着他们可以在任何时候存储映射到长URL的那些代码中的61,474,519个数据库。假设某些链接可能会过期,或者人们可以删除他们已经创建的链接,可以很快假定他们不会很快失去可能性...嘿,如果他们这样做,只需要将链接连接到8个字符 - 那么您就得到了3,381,098,545可能性= P