虛擬主機的概念允許在一個系統或 Web 服務器上有多個網站。服務器通過它們的主機名來區分。Web 站點的訪問者通過主機名或 IP 地址被路由到正確的虛擬主機。虛擬主機允許共享一臺服務器的公司擁有自己的域名。
HTTP Server 虛擬主機類型
HTTP Server 上的虛擬主機有以下三種變體:
基于IP地址的虛擬主機:基于 IP 地址的虛擬主機要求每個網站有一個 IP 地址(主機名)。這種方法非常有效,但需要為每個虛擬主機分配一個專用 IP 地址。
基于名稱的虛擬主機:基于名稱的虛擬主機允許一個 IP 地址托管多個網站(主機名)。這種方法實際上允許無限數量的服務器,易于配置和使用,并且不需要額外的硬件或軟件。這種方法的主要缺點是客戶端必須支持 HTTP 1.1(或帶有 1.1 擴展的 HTTP 1.0),在 HTTP 文檔請求中包含主機名信息。大多數瀏覽器的最新版本都支持 HTTP 1.1(或帶有 1.1 擴展的 HTTP 1.0),但仍有一些舊瀏覽器僅支持 HTTP 1.0。
動態虛擬主機:動態虛擬主機允許您通過添加內容目錄來動態添加網站(主機名)。這種方法基于將 IP 地址和 Host: 標頭的內容自動插入到用于滿足請求的文件的路徑名中。
動態虛擬主機的優點是:較小的配置文件,使服務器啟動速度更快并使用更少的內存。添加虛擬主機不需要更改配置或重新啟動服務器。動態虛擬主機的缺點是不能為每個虛擬主機使用不同的日志文件。