【问题标题】:How Short URL works?短网址如何运作?
【发布时间】:2014-09-23 07:59:43
【问题描述】:

我正在考虑在我的公司实施一个简短/友好的 URL 系统。

我已经阅读了很多描述如何做到这一点的文章。我理解这个过程,但我仍然有一些问题:我们有服务器 A 和客户端 B。服务器 A 具有 URL 重写和重定向的所有逻辑。但是,在该服务器外部但在同一域中的客户端 B 如何知道 http://server.A/theURL 的主机名或 IP 是什么?如果客户端不知道“server.A”的名称,它将返回“未知主机”错误。您如何在网络中“发布”那个短网址“域”?我认为您不必修改每台 PC 的 .hostname 文件...

谢谢,

【问题讨论】:

  • 您的服务器将执行永久重定向 (301),客户端从该初始请求中获取该信息。 这假定客户端可以访问该服务器 - 也就是不在防火墙后面等
  • 是的,但是客户端如何知道短 url 属于该服务器。应该有“short.url”到该服务器的映射。你是怎么做到的?
  • 如您在帖子中所说,映射是通过服务器 A 完成的。一旦将短 URL 转换为真实 URL,它就会将该 URL 发送给客户端 B,然后客户端 B 会正常连接。
  • 我想我没有清楚地解释自己。如果我现在尝试访问“short.url/asdfasd”,我的浏览器会显示“未知主机”。我的电脑如何知道“short.url”的 IP 或真实主机名。它必须在 DNS 服务器或其他东西中。但是,如果它在 Intranet 中,你怎么做呢?
  • 是的,这就是为什么我的第一条评论说“又名不在防火墙后面等”。如果是这种情况,您将使用反向代理。大多数网络服务器都可以做到这一点,但我更喜欢nginx。它只会让外部服务器(服务器 A)代表任何试图访问 short.url 的人进行通信(就像客户端 B 的工作方式一样)。客户端 B 永远不会知道 short.url 的真实 IP/主机名,因为它只会在外部看到服务器 A

标签: short-url


【解决方案1】:

我这样做的方法是将虚域 URL 指向 goo.gl。然后使用我的谷歌 API 密钥从 goo.gl 缩短器请求一个 url,然后我用我的虚 url 替换该 url 并将其作为最终解决方案输出。

【讨论】:

    【解决方案2】:

    考虑使用主要网址缩短服务的(免费)API:

    BITLY https://dev.bitly.com(最知名)

    CLICKMETER http://clickmeter.com/api(最佳分析)

    GOO.GL https://developers.google.com/url-shortener(简单)

    OWLY(与 HootSuite 集成)

    REBRANDLY https://developers.rebrandly.com(使用您的域名)

    SHORTE.ST https://shorte.st/howitworks(通过点击获利)

    【讨论】:

    • 这个想法是了解它的工作原理并自己实现它,而不仅仅是使用外部服务。
    猜你喜欢
    • 2011-07-18
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2010-10-28
    • 2011-01-26
    • 2011-06-02
    相关资源
    最近更新 更多