虛擬主機分為基于 ip 地址的( IP-based )和基于名稱的( name-based )兩種。
基于 IP 地址的虛擬主機大家雖然在同一臺機器上,還是要給每個域名配置獨立的 IP 地址,這樣看來還不能算是一 種很理想的方案。有沒有用一臺機器、一個 IP 地址,又能實現獨立的域名呢?
這個想法隨著 http/1.1 協議的出現得到了實現。它的原理是用 Web 服務器和瀏覽器共同作用來實現把虛擬的域名與 相應的目錄或站點對應。這樣用戶在瀏覽器里輸入不同的名字,雖然由 DNS 服務器解析出的是同一個 IP ,但得到的卻是 不同的內容。看上去就象兩個獨立的域名了。所以這種基于名稱的虛擬主機又稱為非 IP 的( non-IP )。這同時還有一 個用處,可以給很長的 URL 起一個即好記又有意義的別名。這就是虛擬域名。
實現虛擬域名要有兩方面的支持:
一是 Web 服務器:
現在有很多的 Web Server 支持基于名稱的虛擬主機。象 Netscape , IIS 等都支持。當然用的最多的還是 Apache Web Server ,究其原因是因為它配置方便,還是免費的,而且它是第一個實現了基于名稱的虛擬主機的服務器產品。