天天看點

圖解HTTP——與HTTP協作的Web伺服器(學習記錄7)

一台Web伺服器可搭建多個獨立域名的Web網站,也可作為通信路徑上的中轉伺服器提升傳輸效率

用單台虛拟主機實作多個域名:即實體層面隻有一台伺服器,但隻要使用虛拟主機的功能,則可以假想已具有多台伺服器。(在相同的IP位址下,由于虛拟主機可以寄存多個不同主機名和域名的Web網站,是以在發送HTTP請求時,必須在Host首部内完整指定主機名或域名的URI)

通信資料轉發程式:代理、網關、隧道

代理:代理是一種有轉發功能的應用程式,它扮演了位于伺服器和用戶端“中間人”的角色,接收由用戶端發送的請求并轉發給伺服器,同時也接收伺服器傳回的響應并轉發給用戶端。(代理不改變請求URI,會直接發送給前方持有資源的目标伺服器。每次通過代理伺服器轉發請求或響應時,會追加寫入Via首部資訊)

1、緩存代理

     代理轉發響應時,緩存代理會預先将資源的副本緩存在代理伺服器上,當代理再次接收到對相同資源的請求時,就可以不從源伺服器那裡擷取資源,而是将之前緩存的資源作為響應傳回。

2、透明代理

     轉發請求或響應的時候,不對封包做任何加工的代理類型被稱為透明代理。反之,對封包内容進行加工的代理被稱為非透明代理。

網關:網關是轉發其他伺服器通信資料的伺服器,接收從用戶端發送來的請求時,它就像是自己擁有自由的源伺服器一樣對請求進行處理。有時用戶端可能都不會察覺,自己的通信目标是一個網關。(網關能使通信線路上的伺服器提供非HTTP協定服務)

          利用網關能提高通信的安全性,因為可以在用戶端和網關之間的通信線路上加密以確定連接配接的安全。

隧道:隧道是在相隔甚遠的用戶端和伺服器兩者之間進行中轉,并保持雙方通信連接配接的應用程式。(使用SSL等加密手段進行通信)

           隧道的目的:確定用戶端和伺服器進行安全的通信

           隧道本身不會去解析HTTP請求,也就是說,請求保持原樣中轉給之後的伺服器,隧道會在通信雙方斷開連接配接時結束。

儲存資源的緩存:緩存是指代理伺服器或用戶端本地磁盤内儲存的資源副本。利用緩存可減少對源伺服器的通路,是以也就節省了通信流量和通信時間。

緩存伺服器是代理伺服器的一種,并歸類在緩存代理類型中。即當代理轉發從伺服器傳回的響應時,代理伺服器将會保持一份資源的副本。

緩存的有效期限:即使存在緩存,也會因為用戶端的要求、緩存的有效期等因素,向源伺服器确認資源的有效性。若判斷緩存失敗,緩存伺服器将會再次從源伺服器上擷取“新”資源。

用戶端的緩存:以IE程式為例,把用戶端緩存稱為臨時網絡檔案(Temporary Internet File)。浏覽器緩存如果有效,就不必再向伺服器請求相同的資源了,可以直接從本地磁盤内讀取。另外,當判定緩存過期後,會向源伺服器确認資源的有效性。若判定浏覽器緩存失效,浏覽器會再次請求新資源。