1. 程式人生 > >5.2 用單臺虛擬主機實現多個域名

5.2 用單臺虛擬主機實現多個域名

一臺Web伺服器可搭建多個獨立域名的Web網站。
一用單臺虛擬主機實現多個域名
 .背景         

         HTTP/1.1規範允許一臺HTTP伺服器搭建多個站點。例如:提供Web託管服務的供應商,可以用一臺伺服器為多位客戶服務,也可以以每位客戶持有的域名執行各自不同的網站。          這是因為利用了虛擬主機的功能:即使物理層面只有一臺伺服器,但只要使用虛擬主機的功能,則可以假象已具有多臺伺服器。

.問題的產生

           舉例來說,客戶端使用HTTP協議訪問伺服器時,會經常採用類似www.hacker.jp這樣的域名。   在網際網路上,域名通過DNS服務對映到IP地址(域名解析)之後訪問目標網站。由此可見,當請求傳送到伺服器時,已經是以IP地址形式訪問了。那麼問題就來了:如果一臺伺服器內託管了www.hacker.jp和www.tricoder.jp這兩個域名,而兩個域名經解析後的IP地址又是相同的,當伺服器收到請求時就要弄清究竟要訪問那個域名。

.解決辦法
          解決辦法是,在傳送HTTP請求時,必須在Host首部內完整指定主機名或域名的URI,這樣伺服器就知道客戶端想要訪問哪個網站了。