URL Shortener如何工作?

我想知道一个URL Shortener如何工作,就像他们如何从地址栏中提取文本并将其映射到正确的URL,稍后将其redirect。 他们使用什么编程语言? 他们如何保持测绘的历史? 他们如何确保缩短url的唯一性? 如何在不访问URL的情况下取消映射?

维基是你的朋友

基本上,名称较短的网站被用作占位符,比如bit.ly。

然后bit.ly产生一个用户提供的密钥,这个密钥是随机产生的,不会重复。 有35个字符选项和8个左右的值,做math。 这是很多可能的关键。 如果一个url等于先前存在的键,我记得在某处他们重复使用键。

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

url缩写只是生成简码,将目标url映射到简码,并提供新的url。 访问URL会以shortcode作为关键字执行数据库查找,并将您redirect到目标URL。 缩短的url和目标url之间没有algorithm关联,所以如果不通过url缩短器的系统就无法“取消映射”。

你可以用任何编程语言和数据存储来做到这一点。 为了确保唯一性,代码生成也是微不足道的; 如果你有一个递增的主整数键,你可以简单地把键编码为base62并提供这个键。 由于代码本质上是递增的,所以不会有冲突。

这个过程实际上非常简单:有一个脚本要求inputURL,生成一个随机string(并validation这个string还没有被使用),并把它们放在某种数据库中。 当您请求一个URL时,另一个脚本将在数据库中查找随机string,如果发现它将您redirect到该网站。

由于需要防止滥用,URL过滤,垃圾邮件防护,URLvalidation等function,这当然在生产上更为复杂。但实现起来相当简单。


语言是不相干的,大多数人会这样做。

Interesting Posts