我在 Windows 7 中运行“nslookup www.yahoo.com”。
它返回几个结果;其中一些是 IP=98.138.253.109 和 alias=fd-fp3.wg1.b.yahoo.com
我尝试输入 98.138.253.109 和 fd-fp3.wg1.b.yahoo.com,前者返回失败,而后者正确显示了雅虎网页。
我想知道,既然 IP 98.138.253.109 似乎是一个有效的 IP(不像 192.168.xx),为什么我不能将它用作普通 URL?
哪种技术或者说,他们如何阻止我的访问?
答案1
在共享 Web 服务器(一台服务器在端口 80 上有多个站点)上,请求根据请求中使用的名称进行定向。这称为基于名称的虚拟主机。
例如,您可以让 Web 服务器在同一 IP 地址和同一端口上托管 www.abc.com 和 www.xyz.com 域名的页面。当您向任一站点发出请求时,它们最终会到达同一 IP 地址,因此 Web 服务器会查看请求的主机名(www.abc.com 或 www.xyz.com),并将流量定向到相应的站点。
如果您只是使用 IP 地址,它不知道将请求指向何处,因此 Yahoo 会向您显示“找不到页面”错误,然后将您重定向到默认页面。
答案2
Web 服务器根据所调用的资源来处理请求。(数字)IP 地址就像域名一样,因此,如果其服务未配置为“监听”IP 地址,而仅配置为“监听”某些别名,则该行为完全正常,与阻止无关。