如何创建URL缩短器?

如何创建URL缩短器?

我想要创建一个URL缩短器服务,您可以在其中将一个长URL写入输入字段,并且该服务将URL缩短为“http://www.example.org/abcdef".

而不是“abcdef“可以有包含六个字符的任何其他字符串。a-z, A-Z and 0-9..这就产生了560亿到570亿个可能的字符串。

我的方法:

我有一个有三列的数据库表:

  1. ID,整数,自动增量
  2. 长,字符串,用户输入的长URL
  3. 短,字符串,缩短的URL(或仅仅六个字符)

然后将长URL插入到表中。然后我将为“id“并构建它的散列。然后将此哈希插入为”short“.但是我应该构建什么样的散列呢?像md5这样的散列算法会产生太长的字符串,我想我不使用这些算法,自建的算法也能工作。”

我的想法:

为“http://www.google.de/“我得到了自动增量id。239472..然后我执行以下步骤:

short = '';
if divisible by 2, add "a"+the result to short
if divisible by 3, add "b"+the result to short
... until I have divisors for a-z and A-Z.

这种情况可以重复,直到这个数字不能再被除数为止。你觉得这是个好办法吗?你有更好的主意吗?

由于对这个话题的兴趣,我发布了一种高效的GitHub解决方案的实现JavaScriptPHPPython爪哇..如果您愿意,可以添加您的解决方案:)


至尊宝的传说
浏览 540回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP