一、單臺虛擬主機實現多個域名
a) 單個主機搭載多個Web站點,不僅僅可以爲多個客戶端服務,還可以對多個持有不同域名的客戶端進行服務,這就要利用虛擬主機(virtual host)功能。(一對多“服務”,還能提供不同的“服務”)
b) 在互聯網上,DNS將域名映射成IP地址,每個主機的IP地址是唯一的。
c) 在單臺虛擬主機中,可以寄存不同的主機名,因此在發送HTTP請求時,一定在HTTP首部內指定完整的主機名或者URI。
二、通信數據轉發程序——代理、網關、隧道
HTTP通信時,除了客戶端和服務器之外,還有一些用於通信的應用程序,例如網關、代理、隧道等。
a) 代理:就是一個“中間人”的角色,它負責將來自客戶端的請求或者來自服務器的響應轉發。
b) 網關:它可以處理來自客戶端的請求,但是它並沒有客戶端所要的資源,它的資源來自服務器,它只是借花獻佛。
c) 隧道:它是用來中轉,保持相隔遠的兩端的通信狀態。
三、代理
上文以描述代理的作用,在此不贅述。代理分爲:緩存代理服務器和透明代理服務器。
代理服務器的作用如下:(這裏指的是代理服務器)
1. 它可以存儲緩存,減少網絡帶寬的流量。
2. 對特殊網站進行控制,比如翻牆使用的Goagent代理。
3. 獲取訪問日誌。
四、網關
a) 可以採用非HTTP協議與服務器進行通信。比如,網關可以連接數據庫,用SQL語句查詢數據。(借“各種”花來獻佛)
b) 網關和客戶端之間可以進行加密,增強安全性。比如,在網上購物的時候,網關可以和信用卡結算進行連動。
五、隧道
a) 隧道的目的是增強數據傳輸的安全性,可以使用SSL加密技術。
b) 隧道本身不解析HTTP請求/響應,會把請求/響應原原本本的傳達到對應端。
c) 隧道會在兩段通信結束時結束。(它的應用程序,會結束的)
六、保存資源的緩存
a) 緩存的保存形式可以在代理服務器上保存,也可以在本地磁盤上保存。
b) 緩存保存後,再次訪問緩存的內容是,要驗證是否發生了改變,緩存是否過期。