导航到IP地址显示的页面与导航到主机名不同?

时间:2009-06-05 19:14:49

标签: dns ip-address traceroute

我正在查看一个我们称之为www.example.com的网站。快速traceroute www.example.com表示其IP地址为208.76.xx.xxx。

当我浏览Firefox中的“www.example.com”时,我会看到该网站(登录页面)。但是,当我浏览到208.76.xx.xxx时,我显示默认“欢迎使用cPanel!”网页。

以下是一些更多信息:

  1. 当我在Firefox中导航到“www.example.com”或“http://www.example.com”时,我被重定向到“http://example.com”,在那里我看到了正常的网页。
  2. curl -L www.example.com返回网站,而curl -L 208.76.xx.xxx返回“欢迎使用cPanel!”页。
  3. 仅查看标题:curl -LI www.example.com表示我被重定向到网站的登录页面(按预期方式),而curl -LI 208.76.xx.xxx没有重定向。
  4. 208.76.xx.xxx未出现在我的主机文件中。
  5. 我正在使用OpenDNS。
  6. 有人可以解释为什么导航到网站的域名显示的页面与导航到网站的IP地址完全不同?

    感谢您的帮助,随时提出问题/建议测试让我跑。

6 个答案:

答案 0 :(得分:11)

它被称为虚拟主机。

一个Web服务器(和IP地址)可以为数千个站点提供服务,HTTP请求中具有不同的Host:字段。

你问浏览器example.org;浏览器告诉服务器

GET / HTTP/1.1
Host: example.org
Connection: close

Web服务器查看它是否可以为example.org提供服务,如果可以的话,它将提供此特定网站的根页面。

代理也是这样工作的:浏览器将每个HTTP请求发送到代理,给予Host:,代理连接到该主机,请求页面并将其返回,缓存。

答案 1 :(得分:2)

这称为虚拟主机。这是Web服务器(Apache等)根据请求中使用的主机名提供不同内容的地方。

答案 2 :(得分:1)

这是Web服务器的配置。 Web服务器将查看请求的主机名,并显示为该主机名配置的网站。

答案 3 :(得分:1)

可以使Web服务器做出不同的反应,具体取决于使用哪个主机名来获取IP地址。这称为基于名称(与基于IP相对)的虚拟主机。 Apache的基于名称的虚拟主机支持文档的Name-based vs. IP-based Virtual Hosts部分详细介绍了该文档。

答案 4 :(得分:0)

两部分:

  1. 对服务器的http请求包含主机名,因此服务器上的http服务可能会有不同的响应,具体取决于您尝试连接的网站。 (我昨晚才知道这件事。)
  2. 根据主机名而不是IP地址发生重定向。如果您不使用主机名,则服务器不知道如何重定向您。

答案 5 :(得分:0)

简短版本是:它们不是同一个请求。

最可能的答案是alamar提供的内容(我也投了票),但是,还有很多可能的因素没有检查:

1-两个网址导致不同的HTTP请求。

这是HTTP工作方式的结果。在网络级别,您假设建立了相同的连接(到主机名的HTTP端口),这是真的。但是,服务器根据其他应用程序级(HTTP)变量返回内容。

2-实际上没有与IP地址建立连接。有许多机制可以提供网络间接。最重要的是:代理配置和DNS缓存。在任何一种情况下,使用netstat确认连接是最佳的操作过程。

3-第三方正在修改内容。

这可能是出于好的或坏的原因。您可以拥有安全软件,来自WiFi热点的NAT等。