一个服务器可以托管多个网站。
例如让服务器的 IP 为111.222.333.444
然后一个网站可以驻留在11.222.333.444/example1
而另一个网站可以驻留在11.222.333.444/example2
目录中
如果你挖掘这两个的 DNS 记录,你总是会得到服务器的 IP。例如
root@ubuntu:~$ dig +short -t a example1.com
111.222.333.444
因此,我很好奇。浏览器如何知道确切指向哪里?是否有另一个指定 URL 路径的 DNS 记录?
答案1
这与 DNS 或浏览器无关。这严格来说是 Web 服务器配置。
浏览器使用“Host:”标头指定它想要获取的网站的名称,其余部分则由 Web 服务器获取正确的内容。
答案2
那么一个网站可以位于 11.222.333.444/example1 目录,另一个网站可以位于 11.222.333.444/example2 目录
不是。只有一个网站,位于 11.222.333.444 - 您在该网站中输入的内容(包括包含“虚假”其他网站的文件夹)不是 DNS 问题。
但是你的问题也混淆了这一点——这两个网站位于同一个地址,但不在文件夹中,也不在不同的域下。
最后一点很重要,因为不同的域会根据浏览器在 HTTP 请求中发送的域返回不同的内容。它告诉服务器它想要访问哪个域。