我想知道URL缩短器的工作原理,比如它们如何从地址栏中提取文本并将其映射到正确的URL,然后再进行重定向。它们使用哪种编程语言?它们如何维护映射历史记录?它们如何确保缩短的URL的唯一性?普通人怎样才能在不访问URL的情况下取消缩短的链接?
我想知道URL缩短器的工作原理,比如它们如何从地址栏中提取文本并将其映射到正确的URL,然后再进行重定向。它们使用哪种编程语言?它们如何维护映射历史记录?它们如何确保缩短的URL的唯一性?普通人怎样才能在不访问URL的情况下取消缩短的链接?
基本上,一个使用较短名称的网站被用作占位符,例如bit.ly。
然后,bit.ly为用户生成一个密钥,该密钥是随机生成的以避免重复。 考虑到35个字符选项和8个左右的值,请进行计算。 这是很多可能的密钥。 如果一个URL等于先前存在的密钥,我记得在某个地方读到他们也会重新使用密钥。
他们不会真正使用特定的编程语言,只是使用简单的URL重定向,可以使用HTTP响应状态代码301、302、307或308来完成。
实际上,这个过程非常简单:有一个脚本要求输入URL,生成一个随机字符串(并验证此字符串是否已被使用),并将两者放入某种数据库中。当您请求URL时,另一个脚本会在数据库中查找随机字符串,如果找到了就重定向您到该网站。
当然,在生产环境中更复杂,需要实现一些必要的功能,例如防止滥用、URL过滤、垃圾邮件预防、URL验证等等。但这些都很容易实现。
语言不是很重要,基本上任何一种都可以。
<key, url>
。 - roottraveller