5

我一直想知道微小的网址是如何工作的。

我想为我的网站开发类似的东西,但和大多数人一样,我使用 GUID 作为 id。创建对象后,我应该生成一个 10 个字符的随机字符串用作公共 ID,还是有更聪明的方法?

旧网址示例:www.mysite.com/default.aspx?userId={id}

新网址示例:www.mysite.com/pwzd4r9niy

4

2 回答 2

5

您可以为此使用任何类型的随机字符串生成器或 GUID。我认为没有更聪明的方法。(Palantir 提供了一个不错的替代方案,对传入的 URL 进行哈希处理。)

剩下的就相对简单了:保留一个带有 ID 和目标 URL 的数据库表;当请求进来时,查找 ID 并header重定向到目标 URL。

此博客文章中的更多讨论。

现在也有重定向服务,使用字典列表中的单词来构建 URL。

可悲的是,EvilURL 不见了!它用于创建“短”网址,例如

http://evilURL.com/donkey_porn-shotguns/cracking-virus-exploit

那是唯一真正值得的 URL 重定向服务。:)

而且,作为一个琐事,http://to它是人类已知的最短的重定向服务(并且,我认为是最短的 Web URL)。

于 2010-07-07T08:21:27.057 回答
0

只需将整个字符串散列到合理的长度即可。

于 2010-07-07T08:21:57.003 回答