標籤:
這篇主要說說通訊資料的轉寄程式和緩衝的一些知識點。。。
1、http1.1規範允許一台http伺服器搭建多個web網站。。。
比如提供web託管服務的供應商,可以用一台伺服器為多為客戶服務,也可以以每位客戶持有的網域名稱運行各自不同的網站,這裡利用了虛擬伺服器的功能。。。
用戶端使用http協議訪問伺服器時,會經常採用類似www.baidu.con這樣的主機名稱和網域名稱
在互連網上,網域名稱通過DNS服務對應到IP地址之後訪問目標網站,可見,請求發送到伺服器時,已經是以IP地址形式訪問
所以,如果一台伺服器內託管了www.baidu.com和www.sina.com這兩個網域名稱,收到請求時就需要搞清楚究竟要訪問哪個網域名稱
在相同的IP地址下,發送請求時,必須在Host首部內完成指定主機名稱或者網域名稱的URI。
2、通訊資料的轉寄程式
http通訊時,出用戶端和伺服器外,還有一些用於通訊資料轉寄的應用程式,比如代理、網關、隧道
2.1 代理:具有轉寄功能的應用程式
扮演了用戶端和伺服器“中間人”的角色,接受請求並轉寄給伺服器,同時也接受響應並返回給用戶端
代理不會改變URI,會直接將請求發送給持有資源的原始伺服器,然後響應通過Proxy 伺服器後再傳給用戶端
http通訊中,可以級聯多台Proxy 伺服器,每次通過Proxy 伺服器轉寄請求和響應時,會追加寫入Via首部資訊,以標記出經過的主機資訊
Proxy 伺服器的優點:利用緩衝技術(下文)減少網路頻寬流量,組織內部針對特定網站的存取控制,擷取訪問日誌為主要目的等
緩衝代理:預先將資源的副本緩衝在Proxy 伺服器上,再次受到對相同資源的請求時,可以將自己的緩衝返回
透明代理:轉寄請求或者響應時,不對報文做任何加工的代理類型
2.2 網關:轉寄其他伺服器通訊資料的伺服器
接受用戶端發來的請求,就像自己擁有資源的伺服器一樣處理請求
網關的工作機制與代理什麼類似,而網關可以使通訊線路上的伺服器提供非http協議服務
特點:提高通訊安全性,可以在用戶端和網關之間通訊線路上加密以確保串連安全。
2.3 隧道:在用戶端和伺服器之間進行中轉,並保持雙方通訊連線應用程式程式
特點:可以使用SSL等加密手段進行通訊,確保用戶端能與伺服器進行安全的通訊
3、資源的緩衝
緩衝是指Proxy 伺服器或者用戶端本地磁碟內儲存的資源副本。
利用緩衝可減少對原始伺服器的訪問,節省通訊流量和通訊時間。
3.1 緩衝的有效期間
當原始伺服器的資源更新時,或者因為用戶端要求,緩衝的有效時間等因素,都需要向原始伺服器確認有效性,如果緩衝失效,快取服務器將再次向原始伺服器擷取最新的資源
3.2 用戶端的緩衝
緩衝不僅可以存與Proxy 伺服器內,還可以存在用戶端瀏覽器中。如果緩衝有效,就可以直接從本地磁碟中讀取資源
同樣,當緩衝到期,還是需要向原始伺服器請求資源
http協議入門(五)與http協作的web伺服器