谷歌短网址如何运作?

时间:2010-01-06 18:07:47

标签: url short-url

即使字母区域区分大小写,Google短网址如何才能满足只有四个字符的网页中的这么多网址?

http://goo.gl/SUWp

说fn(某个网址) - >四个字母的网址,他们怎么能突然使用相同的功能,在一段时间后给出五个字母的网址?他们如何知道是否有来自网址的四个字母或五个字母的网址?

6 个答案:

答案 0 :(得分:9)

26个字母* 2(大/小写)= 52 ^ 4(4的幂)= 7311616网址

如果他们添加数字,则为62 ^ 4 = 14776336网址。

所以他们有时间去添加第5个字母/数字

答案 1 :(得分:1)

它的工作方式与所有其他缩短程序的工作方式相同 - 字符是已缩短的URL的唯一ID。有52个字母(大写和小写)加上数字和特殊字符,有很多组合可供使用。

答案 2 :(得分:1)

这是:

  

Google URL Shortener目前正在使用   适用于Google产品而非   供更广泛的消费者使用。

我甚至不相信谷歌有700万页值得缩短。

编辑:

显然是you can shorten URLs using the Google Toolbar

  

谷歌网址缩短器不是   独立服务;你不能使用它   直接缩短链接。目前,   Google URL Shortener仅适用   来自Google工具栏和   FeedBurner的。如果服务证明   有用,我们可能最终成功   可供更广泛的观众使用   将来

尽管如此,这并不是“广泛”的消费者使用。如果他们用完了,他们会添加更多的信件。

对更新问题的回应:

说fn(某个网址) - >四个字母的网址,他们怎么能突然使用相同的功能,在一段时间后给出五个字母的网址?

Google并不是简单地对网址进行哈希处理,而只是使用它(请记住,哈希只有一种方式,因此无论如何都无法从中获取原始网址 - 它必须存储在数据库中)。它们可以以哈希开头,然后在数据库中执行查找以查看该密钥是否已存在。如果没有,它将被用作密钥。如果它已经存在,它们将使用其他一些方法来执行散列,或者以使其唯一的方式操纵散列。

他们如何知道网址是四个字母还是五个字母的网址?

如果网址末尾有4个字母,那就是他们知道的......

答案 3 :(得分:1)

英文字母有26个字母。低+上是52。

52 * 52 * 52 * 52 = 7.311.616 他们受此号码的限制。如果他们用完4个字母的网址,他们可以毫无问题地升级到5个,不是吗?

我不认为添加数字是个好主意,因为0(零)和O,1(一)和l(L),I(大写字母i)和l(小写字母L)非常相似。

答案 4 :(得分:0)

(26 + 26 + 10)*(26 + 26 + 10)*(26 + 26 + 10)*(26 + 26 + 10)= 14776336

这是26个小写字母,26个大写字母,以及62个可能字符的10个数字。实际上我认为它可能是其他一些值的base-64编码表示,所以这个数字可能更像是16777216。

答案 5 :(得分:0)

我不知道Google是如何做到的。但是我想象一种可以实现短URL的方法是使用字符0-9a-zA-Z递增值 - 基本上使用基数为62的数字系统。因此,生成值的方法可能会查找最近使用的值,然后将其递增1。例如:abcz + 1 = abcA。或者:ZZZZ + 1 = 00000。