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

Dns 导航到IP地址显示的页面与导航到主机名显示的页面不同?,dns,ip-address,traceroute,Dns,Ip Address,Traceroute,我在看一个我们称之为www.example.com的网站。快速跟踪路由www.example.com显示其IP地址为208.76.xx.xxx 当我在Firefox中浏览到“www.example.com”时,我会看到该网站(一个登录页面)。但是,当我浏览到208.76.xx.xxx时,我会看到一个默认的“欢迎使用cPanel!”网页 以下是更多信息: 当我在Firefox中导航到“www.example.com”或“”时,我会被重定向到“”处,在那里我会看到正常的网页 curl-L www.e

我在看一个我们称之为www.example.com的网站。快速跟踪路由www.example.com显示其IP地址为208.76.xx.xxx

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

以下是更多信息:

  • 当我在Firefox中导航到“www.example.com”或“”时,我会被重定向到“”处,在那里我会看到正常的网页
  • curl-L www.example.com
    返回网站,而
    curl-L 208.76.xx.xxx
    返回“欢迎使用cPanel!”页面
  • 查看标题:
    curl-li www.example.com
    显示我被重定向到站点的登录页面(如预期的那样),而
    curl-li 208.76.xx.xxx
    没有重定向
  • 208.76.xx.xxx未出现在我的主机文件中
  • 我正在使用OpenDNS
  • 有人能解释一下为什么导航到该站点的域名显示的页面与导航到该站点的IP地址显示的页面完全不同吗


    感谢您的帮助,请随时向我提问/建议测试。

    这称为虚拟主机

    一个web服务器(和IP地址)可以为数千个站点提供服务器,HTTP请求中的主机:字段不同

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

    GET / HTTP/1.1
    Host: example.org
    Connection: close
    
    Webserver查看它是否可以为example.org提供服务,如果可以,它将为这个特定站点的根页面提供服务


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

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

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

    可以让web服务器做出不同的反应,这取决于使用哪个主机名到达IP地址。这被称为基于名称(而不是基于IP)的虚拟主机。Apache基于名称的虚拟主机支持文档的这一部分将更详细地解释。

    分为两部分:

  • 对服务器的http请求包含主机名,因此服务器上的http服务可以根据您尝试连接的网站做出不同的响应。(我昨晚才知道这一点)
  • 重定向是基于主机名而不是IP地址发生的。如果您不使用主机名,服务器将不知道如何重定向您

  • 简短的版本是:它们不是相同的请求

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

    1-这两个url导致不同的HTTP请求

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

    2-实际上没有连接到IP地址。提供网络间接寻址的机制有很多。最重要的是:代理配置和DNS缓存。无论哪种情况,使用netstat确认连接都是最好的做法

    3-第三方正在修改内容


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

    看起来应该转到ServerFault.com.Nope,这是HTTP的基础,HTTP是一种协议,协议是程序员的工具。