1

即使字母区分大小写,Google 短 URL 怎么能满足网络中这么多只有四个字符的 URL?

http://goo.gl/SUWp

说 fn(some url)-> url 的四个字母,他们怎么会突然使用相同的函数,在某个时间后给 url 给出五个字母?他们如何知道它是来自 url 的四个字母还是五个字母的 url?

4

6 回答 6

9

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

如果他们添加数字,它将是 62^4 = 14776336 个网址。

所以他们在添加第 5 个字母/数字之前还有一些时间

于 2010-01-06T18:10:51.267 回答
1

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

于 2010-01-06T18:11:21.483 回答
1

这是如何:

Google URL Shortener 目前可用于 Google 产品,但不适用于更广泛的消费者使用。

我不相信即使是谷歌也有 700 万页值得缩短。

编辑:

显然可以使用 Google 工具栏缩短网址

Google URL Shorter 不是独立的服务;您不能使用它直接缩短链接。目前,Google URL Shortener 仅可从 Google 工具栏和 FeedBurner 获得。如果该服务被证明是有用的,我们最终可能会在未来将其提供给更广泛的受众。

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

对更新问题的回应:

说 fn(some url)-> url 的四个字母,他们怎么会突然使用相同的函数,在某个时间后给 url 给出五个字母?

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

他们如何知道它是来自 url 的四个字母还是五个字母的 url?

如果 URL 的末尾有 4 个字母,那么他们就是这样知道的......

于 2010-01-06T18:12:35.407 回答
1

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

52 * 52 * 52 * 52 = 7.311.616 他们受到这个数字的限制。如果他们用完了 4 个字母的 url,他们可以毫无问题地升级到 5 个,不是吗?

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

于 2010-01-06T18:12:40.653 回答
0

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

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

于 2010-01-06T18:12:38.103 回答
0

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

于 2010-01-06T18:32:14.757 回答