一台web伺服器可搭建多個獨立域名的Web網站,也可作為通信路徑上的中轉伺服器提升傳輸效率。
文章目錄
- 用單台虛拟主機實作多個域名
- 通信資料轉發程式
-
- 代理
-
- 緩存代理
- 透明代理
- 網關
- 隧道
- 儲存資源的緩存
-
- 緩存的有效期限
- 用戶端的緩存
- HTTP之前出現的協定(簡單了解)
用單台虛拟主機實作多個域名
HTTP/1.1 允許一台http伺服器搭建多個web站點。
即使實體層面隻有一台伺服器,隻要使用虛拟主機的功能,則可以假想已具有多台伺服器。
如果一台伺服器托管了多個域名,比如www.tricorder.jp和www.hackr.jp這兩個域名,收到請求的時候就要搞清楚通路那個域名。
是以在發送請求的時候,必須在Host首部内完整的指定主機名或域名的URI。
通信資料轉發程式
代理,網關和隧道可以配合伺服器工作。
這些應用程式和伺服器可以将請求轉發給通信線路上的下一站伺服器,并且能接收從那台伺服器發送的響應在轉發給用戶端。
代理
代理是一種有轉發功能的應用程式。扮演了位于伺服器和用戶端中間人的角色,接收由用戶端發送的請求并轉發給伺服器,同時也接收伺服器傳回響應的并轉發給用戶端。
擁有資源實體的伺服器稱為源伺服器。從源伺服器傳回的響應經過代理伺服器後在傳給用戶端。
請求和響應的轉發會經過多台類似鎖鍊一樣的代理伺服器, 轉發時,需要附加Via首部字段以标記出經過的主機資訊
使用代理伺服器的好處:
利用緩存技術減少網絡帶寬的流量,組織内部針對特定網站的通路控制,以擷取通路日志為主要目的。
緩存代理
代理轉發響應時,預先将資源的副本儲存在代理伺服器上。
當代理再次接收到對相同資源的請求,不需要去源伺服器那裡擷取資源,可以将之前的緩存作為響應傳回
透明代理
轉發請求和響應時,不對封包做任何加工的代理類型被稱為透明代理。
反之, 對封包做加工處理的為 非透明代理
網關
網關能提供非http協定服務
利用網關能提高通信的安全性,用戶端與網關之間的通信線路上加密確定連結的安全。
比如: 網關可以連結資料庫, 使用SQL語句查詢資料,另外,在web購物網站上進行信用卡結算,網關可以和信用卡結算系統關聯
隧道
使用SSL等加密手段進行通信
隧道本身不會去解析HTTP請求,保持原樣中轉給其他伺服器,隧道會在雙方通信結束連接配接時斷開。
儲存資源的緩存
利用緩存可減少對源伺服器的通路,節省了通信時間和通信流量
好處: 避免多次向源伺服器轉發資源,源伺服器也不必多次處理相同的請求
緩存的有效期限
即使伺服器有緩存,也不能保證每次都傳回相同的資源。
向源伺服器确認資源的有效性,若判斷緩存失效,緩存伺服器将會再次向源伺服器上擷取資源
用戶端的緩存
緩存不僅可以存在緩存伺服器上,還可以存在用戶端浏覽器中
浏覽器如果緩存有效,不需要在向伺服器發送請求,可以直接在本地磁盤讀取
和伺服器緩存相同點: 當判定緩存過期後,會向源伺服器确認資源的有效性,若判斷浏覽器緩存失效,浏覽器會再次請求新的資源