URL缩短:这是如何实现的?
答
是的..其实如果你去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是什么,你应该寻找
答
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