Networking
Web 伺服器如何區分不同的 DNS 名稱?
我想知道 Web 伺服器如何區分同一伺服器(相同 IP)上不同 DNS 名稱的請求?
例如,在我的大學裡有兩個網站:
fea.kau.edu.sa engineering.kau.edu.sa
當我
nslookup
在 Windows 上使用時,我得到了兩個域名的相同 IP 地址。你能解釋一下嗎?
HTTP 1.1 要求所有客戶端系統都發送一個標頭 ,
Host
它向伺服器表明他們正在發送請求的主機名。這允許伺服器讀取該標頭,並以相應站點的內容進行響應。
如果沒有此功能,每個不同的站點都需要不同的 IP 地址;如果我們沒有這個,我們會更快地用完 IPv4 空間。
啟動您最喜歡的數據包跟踪器(類似於wireshark)並觀察連接時實際發生的情況。
一個非常簡單的請求可能如下所示:
GET / HTTP/1.1 Host: www.example.com
(如果您想通過使用 telnet 自己重新創建它,請注意末尾的空行。您也可以在 wikipedia中看到很多這樣的東西)
請求的
Host:
一部分告訴 Web 伺服器要訪問哪個站點。這些標題中顯示了很多東西,所以你可能想通過像Firebug這樣的瀏覽器外掛來了解它們