TinyURL 等服务如何?或 Metamark工作吗?
他们是否只是简单地将微小的 URL 键与 [虚拟?] 网页相关联,该网页仅提供对原始 URL 的“HTTP 重定向”?还是有更多的“魔力”?
[原文] 我经常使用 TinyURL、Metamark 等 URL 缩短服务,但每次使用时,我都想知道这些服务是如何工作的。他们是创建一个将重定向到另一个页面的新文件还是使用子域?
最佳答案
不,他们不使用文件。当您单击这样的链接时,会向他们的服务器发送一个带有完整 URL 的 HTTP 请求,例如 http://bit.ly/duSk8wK (链接到这个问题)。他们读取映射到他们的数据库的路径部分(此处为 duSk8wK
)。在数据库中,他们会找到描述(有时)、您的姓名(有时)和真实 URL。然后他们发出一个重定向,这是一个 HTTP 302 响应和 header 中的目标 URL。
这种直接重定向很重要。如果您要使用文件或首先加载 HTML 然后重定向,浏览器会将 TinyUrl 添加到历史记录中,这不是您想要的。此外,重定向到的站点会将引荐来源网址(您最初来自的站点)视为 TinyUrl 链接所在的站点(即 twitter.com,您自己的站点,无论链接在哪里)。这同样重要,以便网站所有者可以看到人们来自哪里。如果页面被加载并重定向,这也将不起作用。
PS:重定向的类型更多。 HTTP 301 表示:永久重定向。如果发生这种情况,浏览器将不再请求 bit.ly 或 TinyUrl 站点,并且这些站点想要计算点击次数。这就是使用 HTTP 302 的原因,它是一种临时重定向。浏览器会再次询问 TinyUrl.com 或 bit.ly,这样就可以为您计算点击次数(一些小型 url 服务提供此功能)。
关于web-services - 短网址服务如何运作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562367/