天天看點

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

用單台虛拟主機實作多個域名

HTTP/1.1規範允許一台HTTP伺服器搭建多個Web站點。即一台Web伺服器可以以不同域名運作各自不同的網站。這是因為利用了**虛拟主機(virtual host,又稱虛拟伺服器)的功能。

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

在相同的IP位址下,由于虛拟主機可以寄存多個不同主機名和域名的Web網站,是以在發送HTTP請求時,必須在Host首部内完整指定主機名或域名的URI。

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

HTTP通信時,除了用戶端和伺服器,還要一些用于通信資料轉發的應用程式,如:代理、網關和隧道。他們可以配合伺服器工作。

這些應用程式和伺服器可以将請求轉發給通信線路上的下一站伺服器,也可以接收從那台伺服器發送的響應再轉發給用戶端。

代理

代理是一種有轉發功能的應用程式,它是位于伺服器和用戶端的“中間人”的角色,接收用戶端發送的請求并轉發給伺服器,以及接收伺服器傳回的響應并轉發給用戶端。

網關

網關是轉發其他伺服器通信資料的伺服器,接收從用戶端發來的請求時,它會像伺服器一樣對請求進行處理。有時用戶端都不會察覺到自己的通信目标是一個網關。

網關(Gateway)又稱網間連接配接器、協定轉換器。網關在網絡層以上實作網絡互連,是複雜的網絡互連裝置,僅用于兩個高層協定不同的網絡互連。網關是一種充當轉換重任的計算機系統或裝置。使用在不同的通信協定、資料格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋隻是簡單地傳達資訊不同,網關對收到的資訊要重新打包,以适應目的系統的需求。
隧道

隧道是在相隔甚遠的用戶端和伺服器兩者之間進行中轉,并保持雙方通信連接配接的應用程式。

隧道(TUnnel)技術是一種通過網際網路絡基礎設施在網絡之間傳遞資料的方式。使用隧道傳遞的資料可以是不同協定的資料幀或包,隧道協定将這些其它協定的資料幀或包重新封裝在新的標頭中發送,被封裝的資料包在隧道的兩個端點之間通過公共網際網路絡進行路由,一旦到達網絡終點,資料将被解包并轉發到最終目的地。整個傳遞過程中,被封裝的資料包在公共網際網路絡上傳遞時所經過的邏輯路徑稱為隧道。 簡言之,隧道技術是指包括資料封裝,傳輸和解包在内的全過程。

代理

代理伺服器的基本行為就是接收用戶端發送的請求後轉發給其他伺服器。代理不改變請求URI,會直接發送給前方持有資源的目标伺服器。

持有資源實體的伺服器被稱為源伺服器。從源伺服器傳回的響應經過代理伺服器後再傳給用戶端。

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

HTTP通信過程中,可以級聯多台代理伺服器。代理伺服器轉發時,需要附加Via首部字段以标記出經過的代理主機資訊。

使用代理伺服器的理由:利用緩存技術減少網絡帶寬的流量,組織内部針對特定網站的通路控制,以擷取通路日志為主要目的,等等。

代理有多種使用方法,按兩種基準分類。一種是是否使用緩存,另一種是是否會修改封包。

  • 緩存代理

    代理轉發 伺服器的響應時,**緩存代理(Caching Proxy)**會預先将資源的副本(緩存)儲存在代理伺服器上。

    之後,當代理再次接收到對相同資源的請求時,就可以直接将先前緩存的資源作為響應傳回。

  • 透明代理

    轉發請求或響應時,不對封包做任何加工的代理被稱為透明代理(Transparent Proxy)。反之,如果對封包内容進行加工,則稱為非透明代理。

網關

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

網關的工作機制和代理十分相似,不同之處在于:網關能使通信線路上的伺服器提供非HTTP協定服務。

利用網關能提高通信的安全性,因為可以在用戶端與網關之間的通信線路上加密以確定連接配接的安全。如:網關可以連接配接資料庫使用SQL語句查詢,或者在支付時和支付系統關聯等等。

隧道

隧道可按要求建立起一條與其他伺服器的通信線路,并使用SSL等加密手段進行通信。隧道的目的是確定用戶端能與伺服器進行安全的通信。

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

儲存資源的緩存

緩存是指代理伺服器或用戶端本地磁盤内儲存的資源副本。利用緩存可減少對源伺服器的通路。

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

緩存伺服器的優勢在于:利用緩存可避免多次從源伺服器轉發資源。用戶端直接就近從緩存伺服器上擷取資源。

緩存的有效期限

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

學習筆記 圖解HTTP 第五章:與HTTP協作的Web伺服器用單台虛拟主機實作多個域名通信資料轉發程式:代理、網關、隧道儲存資源的緩存在HTTP出現之前的協定

用戶端的緩存

緩存不僅可以存于緩存伺服器内,還可以存在用戶端浏覽器中。如:臨時網絡檔案(Temporary Internet File)。

和緩存伺服器一樣,也具有時效性。如果有效,直接在本地磁盤内讀取,不需要向伺服器發起請求。

在HTTP出現之前的協定

FTP(File Transfer Protocol)

傳輸檔案時使用的協定。

繼續閱讀