为什么youtube.com的解析IP直接指向google.com?

为什么youtube.com的解析IP直接指向google.com?,ip,ping,Ip,Ping,这可能是一个非常愚蠢的问题,但我很好奇 youtube.com的ping显示解析IP为74.125.127.93。现在,如果你在浏览器中访问这个IP,你会期望youtube页面出现。相反,搜索引擎出现了 有人能解释一下幕后发生了什么吗? 谢谢。谷歌拥有Youtube。 他们可能使用相同的负载平衡服务器和基于名称的虚拟主机来检测您试图浏览的站点。 这可以通过查看客户机提供的主机头(您正试图浏览到的域)来实现。由于主机头是不同的,所以当您直接使用ip访问时,与通过域访问时,您不会总是访问同一个站点。

这可能是一个非常愚蠢的问题,但我很好奇

youtube.com的ping显示解析IP为74.125.127.93。现在,如果你在浏览器中访问这个IP,你会期望youtube页面出现。相反,搜索引擎出现了

有人能解释一下幕后发生了什么吗? 谢谢。

谷歌拥有Youtube。
他们可能使用相同的负载平衡服务器和基于名称的虚拟主机来检测您试图浏览的站点。

这可以通过查看客户机提供的主机头(您正试图浏览到的域)来实现。由于主机头是不同的,所以当您直接使用ip访问时,与通过域访问时,您不会总是访问同一个站点。

谷歌正在使用--two(或更多)处理请求的web服务器所在IP地址上的服务由请求的URL决定。

因为有许多服务器名称,但只有几个IP地址

让我解释一下。IPv4允许2^32(40亿)个不同的IP地址。听起来很多,但大部分都不能用。IP地址总是以块的形式分配。最小的块是255个地址(广播的8位1地址),最大的块是1600万个地址(2^24-1)。中等大小的块有64k地址(16位)

如果你是ISP,你会得到一组固定的地址。当然,你总是要求一个大于你绝对需要的块,否则你的地址就会用完,这对ISP来说真的很糟糕。您可以要求两个16位块,但连接这两个块总是一件麻烦事

上周,IPv4块用完了。所以你有一个64k的街区,不能再多了。但有15万客户希望运行web服务器

解决方案:。您告诉您的DNS“x.y.com”是13.242.251.17,“a.y.com”是相同的地址,“b.y.com”

当客户端发出请求时,它将执行DNS查询,该查询始终返回相同的IP。然后它向刚得到的IP发送一个HTTP请求。诀窍在于HTTP请求包含服务器名称。因此,即使所有请求都指向相同的IP地址,web服务器仍然可以确定您真正想要的是谁

只要你给它起个名字。如果您使用IP,您将获得默认服务,即谷歌搜索引擎

[EDIT]使用
telnet
,您可以自己尝试。以telnet 74.125.127.93 80开始,然后键入:

GET http://www.google.com/index.html HTTP/1.1
按回车键两次。您将获得一个重定向到您所在国家的谷歌主页。现在输入:

GET http://www.youtube.com/ HTTP/1.1

按回车键两次。这一次,YouTube主页将被返回。

@Shog9不应该是另一种方式吗?有没有办法使用IP并仍然达到所需的服务?@NikhilGirraj:我不明白这个问题。您可以将
telnet
与IP或DNS名称一起使用。很抱歉,我不够清楚,我的意思是访问服务器上的非默认服务,而不使用
telnet
并使用其IP而不是域名。例如-使用Google.com和youtube.com共享的IP访问
youtube
。@NikhilGirraj:否。远程服务器需要服务名称来理解您想要访问的内容。这就是工作原理。@NikhilGirraj:或者更确切地说:IPv4不可能做到这一点。通过IPv6,我可以将服务器映射到地址范围。从技术上讲,您使用前缀(IPv6地址的前N位)到达服务器,后缀用于确定服务器上的服务。