短网址服务如何工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (202)

TinyURLMetamark等服务如何工作? 他们是否仅仅将这个微小的URL关键字与仅仅为原始URL提供“HTTP重定向”的[虚拟?]网页相关联?还是有更多的“魔术”呢?

我经常使用TinyURL,Metamark等网址缩短服务,但每次我都想知道这些服务是如何工作的。他们是否创建了一个新的文件,将重定向到另一个页面或他们使用子域名?

提问于
用户回答回答于

其他人已经回答了重定向如何工作,但你也应该知道他们是如何产生他们的小网站的。将错误地听到他们创建了URL的哈希值,以便为缩短的URL生成唯一的代码。在大多数情况下,这是不正确的,他们没有使用散列算法(可能存在冲突)。

大多数流行的URL缩短服务只需将URL的数据库中的ID转换为Base 36 [a-z0-9](不区分大小写)或Base 62(区分大小写)。

TinyURL数据库表的简单示例:

ID       URL                           VisitCount
 1       www.google.com                        26
 2       www.stackoverflow.com               2048
 3       www.reddit.com                        64
...
 20103   www.digg.com                         201
 20104   www.4chan.com                         20

允许灵活路由的Web框架使处理传入URL非常容易(Ruby,ASP.NET MVC等)。

因此,在网络服务器上,可能会看到类似于(伪代码)的路由操作:

Route: www.mytinyurl.com/{UrlID}
Route Action: RouteURL(UrlID);

它将任何传入的请求路由到服务器,该请求将域www.mytinyurl.com后的任何文本传送到关联方法RouteURL。它将URL中的正斜杠后面传递的文本提供给该方法。

所以,让我们说你的请求:www.mytinyurl.com/fif

然后将“fif”传递给你的方法RouteURL(String UrlID)。然后,RouteURL会将“fif”转换为其2010年的base10等效数据库,并且会将数据库请求重定向到ID 20103(本例中为www.digg.com)下存储的任何URL。在重定向到正确的URL之前,还会将Digg的访问次数增加一次。

这是一个非常简单的例子,但你应该能够得到一般的想法。

热门问答

怎样实现PDF文件在线浏览?

幻象丛林RESTful 服务开发者
推荐
一般浏览器自带pdf浏览,比如谷歌浏览器,你打开pdf结尾的文件就是浏览界面。 存放在cos中的pdf文件打开如果是直接下载的话,需要设置静态网站,才能正常访问存储桶中的文件,而不是直接下载。 开启静态网站配置后,您需要使用静态网站域名访问 COS 源站才能生效,如果使用 COS...... 展开详请

扩展能力之云调用,小程序端出错:[tcb-js-sdk]参数错误:非法的应用标识?

software微软、谷歌、腾讯、阿里、百度……
推荐
您好,appSign必须是小程序的appid,appSecret的两个字段必须是在云开发控制台-安全来源里配置过的。 image.png ... 展开详请

mysql 1h1g能带动多大的数据?

学生路人
推荐
您好,MySQL的处理速度主要看内存的缓存空间大小,缓存空间是否够用主要看业务热数据,而业务热数据是与业务访问相关的,腾讯云MySQL的存储引擎是固定的,都是innodb存储引擎,所以处理器这里不用考虑太多,主要关注innodb_buffer_pool_size是否够用,建议您先...... 展开详请

serverless db 如何管理?

Richel码农
推荐
1.支持pg_dump,psql工具进行数据导入和导出。 2.本地CLI,可以使用postgresql的客户端psql,也可以使用dbeavr,navicate,pgadmin等工具访问。 3.支持操作DB ,要自己写逻辑 ... 展开详请

安卓APP使用免费版加固后,在Android11系统上运行闪退,是什么原因?

hello,目前已经适配了Android R Beta1,预计这周内上线移动应用安全在线版,请留意日志更新

请问bugly上报的服务器是在哪?如果要发行海外版本,能把上报服务器调成海外吗?

所属标签

扫码关注云+社区

领取腾讯云代金券