我不明白域名是如何连接到IP地址的。我有一个特定的领域,例如example.com。我运行ping example.com并从DNS查询获取它的IP地址。
当我在浏览器中键入此IP地址行时,它会将我带到另一个站点。请给我解释一下可能发生的原因。
发布于 2018-03-03 15:20:54
HTTP协议用于通过浏览器加载网站,它支持一个“主机”头,它告诉服务器哪个主机名被键入到浏览器的url栏中。这样,相同的服务器(相同的IP)可以处理不同的网站。
想象一下www1.example.com和www2.example.com both对127.0.0.42的决心。
端口80上的127.0.0.42服务器侦听HTTP请求。如果在浏览器中打开http://www1.example.com,浏览器将连接到127.0.0.42:80,并将Host: www1.example.com头与请求一起发送。这样,服务器就可以为www1.example.com提供站点服务。
如果输入http://www2.example.com,浏览器也会连接到127.0.0.42:80,但是这一次设置Host: www2.example.com头,因此服务器知道这一次它必须为另一个页面服务。
如果在浏览器中打开http://127.0.0.42,服务器将获得Host: 127.0.0.42头和请求。这一次,服务器可能不知道要服务哪个站点,因此可能会出现错误,或者返回到默认网站。这就是为什么如果浏览到IP而不是主机名,您可能会看到不同的站点。
https://webmasters.stackexchange.com/questions/113237
复制相似问题