1

据我了解, nslookup [domain_name] 会给你一个域名的 IP 地址。当我跑步时nslookup wikipedia.org,我得到

    Server:     138.23.146.213
    Address:    138.23.146.213#53

    Non-authoritative answer:
    Name:   wikipedia.org
    Address: 198.35.26.96

因此,如果我在网络浏览器中输入 198.35.26.96,我应该会访问 wikipedia.org。这适用于某些网站,例如 google.com 和 facebook.com,以及 mozilla.org。但对于其他网站,如 wikipedia.org、craiglist.org 和 wordpress.org,它会出错。

有人知道为什么吗?

4

1 回答 1

3

IP 地址标识服务器,而不是网站。可能有多个网站托管在同一台服务器上。

当您在浏览器的地址栏中输入域名(例如wikipedia.org)时,您的浏览器首先会解析域名以获得 IP 地址(即198.35.26.96)。然后它构造一个 HTTP 请求,其中包含一个名为Host的参数,其值为wikipedia.org,并将其发送到地址198.35.26.96

服务器接收响应,读取Host参数并知道用户正在寻找哪个网站。所以浏览器本质上需要服务器的IP地址和网站的域名才能打开。

在某些 Web 服务器中,可能会定义“默认网站”,即如果没有Host参数或其值为 IP 地址,则服务器将为用户提供默认网站。google.comfacebook.com就是这种情况。如果尚未设置默认网站(例如在wikipedia.org 中),服务器将简单地回复一个错误,说明未找到该域。

于 2015-04-12T23:15:50.103 回答