我想知道URL Shortener如何工作,例如它们如何从地址栏中提取文本并将其映射到校正URL,然后重定向。他们使用哪种编程语言?他们如何保持映射的历史?它们如何确保缩短URL的唯一性?外行人如何在不访问URL的情况下将其取消涂抹?

有帮助吗?

解决方案

维基是你的朋友

基本上,一个具有较短名称的网站用作位置持有人,例如bit.ly。

然后,bit.ly生成了用户提供的密钥,该密钥是随机生成要不重复的。具有35个字符选项和8个左右的值,请执行数学。这是很多可能的钥匙。如果URL等于先前现有的密钥,我记得在某个地方阅读了它们也重复使用键。

他们并没有真正使用特定的编程语言,而只是使用简单的URL重定向,我相信可以使用HTML来完成。

其他提示

URL仅生成一个短代码,将目标URL映射到短代码,然后提供新的URL。访问URL用短代码作为键执行数据库查找,并将您重定向到目标URL。缩短URL和目的地URL之间没有算法关联,因此您不能在不经过URL Shortener的系统的情况下“拆卸”它。

您可以使用任何编程语言和数据存储进行操作。代码生成是微不足道的,以确保独特性。如果您有一个逐步的主整数键,则可以简单地将键编码为base62并为其提供。由于代码本质上是渐进的,因此您永远不会发生冲突。

该过程实际上很简单:有一个脚本要求URL,生成一个随机字符串(并验证该字符串尚未使用),然后将两者放在某种数据库中。当您请求URL时,另一个脚本在数据库中查找随机字符串,并且是否发现它会将您重定向到网站。

当然,由于需要预防滥用,URL过滤,预防垃圾邮件,URL验证等所需功能,因此生产的生产更加复杂。但是,这些功能非常易于实施。


该语言无关紧要,大多数人都会做。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top