虛擬主機原理與工作方式

http://blog.chinaunix.net/u1/46962/showart_371638.html

 

一、WWW服務器虛擬主機原理 
      WWW
服務器虛擬主機是指使用一臺物理機器,充當多個主機名的WWW服務器。比如由一臺機器同時提供http://www.company1.com, http://www.company2.com 等的WWW服務,而瀏覽這些WWW站點的用戶感覺不到這種方式下跟由不同的機器提供不同的服務有什麼差別。 
    使用WWW虛擬主機的好處在於,一些小規模的網站,通過跟其他網站共享同一臺物理機器,可以減少系統的運行成本,並且可以減少管理的難度。另外,對於個人用戶,也可以使用這種虛擬主機方式來建立有自己獨立域名的WWW服務器,目前國內有很多公司都提供這種免費的服務。

 

二、WWW虛擬主機有兩種工作方式:

1.1 基於IP地址的虛擬主機方式 
這種方式下,不同的主機名解析到不同的IP地址,提供虛擬主機服務的機器上同時設置有這些IP地址。服務器根據用戶請求的目的IP地址來判定用戶請求的是哪個虛擬主機的服務,從而進一步的處理。 
缺點:基於IP地址的虛擬主機方式需要在提供虛擬主機服務的機器上設立多個IP地址,既浪費了IP地址,又限制了一臺機器所能容納的虛擬主機數目。因此這種方式越來越少使用。但是,這種方式是早期使用的HTTP 1.0協議唯一支持的虛擬主機方式。 
1.2 
基於主機名的虛擬主機方式 
由於基於IP地址的虛擬主機方式有如上的缺點,HTTP 1.1協議中增加了對基於主機名的虛擬主機的支持。具體說,當客戶程序向WWW服務器發出請求時,客戶想要訪問的主機名也通過請求頭中的“Host:”語句傳遞給WWW服務器。比如,www.company1.com www.company2.com 都對應於同一個IP地址(即由同一臺機器來給這兩個虛擬域名提供服務),客戶程序要存取http://www.company1.com/index.html時,發出的請求頭中包含有如下的內容: 
GET /index.html HTTP/1.1 
Host: www.company1.com 
….. 
WWW
服務器程序接收到這個請求後,可以通過檢查“Host:”語句,來判定客戶程序請求是哪個虛擬主機的服務,然後再進一步的處理。 
優點:提供虛擬主機服務的機器上只要設置一個IP地址,理論上就可以給無數多個虛擬域名提供服務,佔用資源少,管理方便。目前基本上都是使用這種方式來提供虛擬主機服務。 
缺點:在早期的HTTP 1.0版本下不能使用。實際上現在使用的瀏覽器基本上都支持基於主機名的虛擬主機方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章