0

请原谅这个问题的潜在愚蠢,但是当谈到这个领域架构云雀时,我有点菜鸟。如果“域架构”甚至是技术术语。反正我跑题了...

所以,我用谷歌搜索了这个问题,但我看不到我正在寻找的答案(也许它不存在,谁知道!?)情况是我托管了一个 .com 顶级域301 转发到非我托管的网络上的另一个站点。我可以设置一个子域,然后指向其他地方,无论是在我的主机本身上还是在网络上其他地方的某个其他站点上?

本质上,如果我设置了一个子域,它是否也会继承网络转发,如果是这样,我可以直接影响该子域指向的位置吗?

任何答案不胜感激!

4

1 回答 1

1

在我尝试回答你的问题之前,让我有点挑剔:)

首先,您将两种不同的协议([DNS] 和 [HTTP])混淆并混合在一起,实际上维基百科甚至有一个专门的页面用于 HTTP 301 响应:http ://en.wikipedia.org/wiki/HTTP_301 (但您应该阅读整个 shebang:([Wikipedia, search for HTTP] 总是一个好的开始,[RFC 2616] 绝对是必须的,IETF RFC 不容易阅读,但互联网是建立在它们之上的)。

DNS 用于将名称www.example.com转换为IP 地址等,192.168.0.1以便在 Internet 上定位机器。因此,DNS 是浏览器解析URL所采取的第一步:但是一旦“机器名称”被单独的 DNS 服务翻译,并且它已成为 IP 地址,DNS 工作就结束了,并且它不再被使用/参与。

然后,当浏览器使用 HTTP 联系位于机器上的 Web 服务器(在本例中为机器,在我们的示例中, www.example.comDNS 服务已将其转换为IP 地址192.168.0.1,因为操作系统只能使用IP 地址作为[internet socket] 的参数),并且仅在那个时候,Web 服务器而不是提供页面,而是以“错误”代码(实际上是带有不以数字开头的数字代码的“响应标头” “2”)。

只是这个错误代码实际上是用来告诉其他事情的:浏览器应该再次尝试“HTTP请求”,这次连接到另一台机器(并且,只要这个重定向是“永久的”而不是“临时的”([ HTTP_307]),地址应该被浏览器记住,它的缓存和历史)。

所以,如果你可以在第一台机器上设置 [redirection response header],这意味着在第一台机器上有一个 Web 服务器被编程(给定一个特定的 URL 模式)来吐出一个重定向头,只要你可以控制这些重定向,您也可以将浏览器发送到您想要的任何地方,不仅可以将它们发送到 Internet 上的另一台机器,还可以发送到另一个 URL,甚至在同一个网站上(实际上这是代码 301 的原始预期用途,作为针对 [link rot] 的措施)。

基本上,您可以自由地做任何您想做的事情,或者更好的是,将它们发送到您想要的任何地方。

优点是显而易见的......缺点是您必须控制第一个 Web 服务器,并且访问的浏览器必须执行两个“GET 请求”才能到达预期的页面(这并不可怕,因为它看起来,因为 [RFC 2616] 建议浏览器(他们称之为用户代理)缓存并记住重定向(因为它是 永久的))。


免责声明:我被禁止发布超链接,但它们基本上都来自维基百科,所以,如果你愿意,你可以在维基百科上查看括号“[...]”中的单词......

于 2012-07-17T14:50:01.730 回答