經過虛擬主機功能,實現單臺物理服務器代理多個不一樣web站點的功能。web
在HTTP通訊中,除客戶端和服務器之外,還有一些用於通訊數據轉發的應用程序,如代理、網關和隧道,它們配合服務器工做,將請求轉發給通訊線路上的下一站服務器。後端
代理:一種有轉發功能的應用程序,它扮演了位於服務器和客戶端中間人的角色,接收由客戶端發送的請求並轉發給服務器,同時也接受服務器返回的響應並轉發給客戶端。瀏覽器
網關:轉發其餘服務器通訊數據的服務器,,接收從客戶端發送來的請求,它就像本身擁有資源同樣對請求進行處理,有時客戶端可能都不會察覺,本身的通訊目標是個網關。緩存
隧道:在相隔甚遠的客戶端和服務器二者之間踐行中轉,並保持雙發通訊鏈接的應用程序。安全
2.1 代理服務器
基本行爲是接收客戶端發送的請求後轉發給其餘服務器,代理不改變請求URL,會直接發送給前方持有目標服務器。擁有資源實體的服務器被稱爲源服務器,從源服務器返回的響通過代理服務器再傳給後端。網絡
每次經過代理服務齊全轉發請求或響應時,會追加寫入Via首部信息。網站
代理服務優點:利用緩存技術減小網絡帶寬流量;組織內部針對特定網站控制以獲取訪問日誌爲主要目的。加密
代理有多種使用方法,按兩種基準分類,一種是否使用緩存,另外一種是是否會修改報文。spa
緩存代理
代理轉發響應時,緩存代理會預先將資源的副本(緩存)保存在代理服務器上。
代理再次接收到對相同資源請求時,就能夠不從源服務器那裏獲取資源,直接將緩存的資源做爲響應。
透明代理
轉發請求時,不對報文作任何加工的代理類型被稱爲透明代理,反之,對報文內容進行加工的代理稱爲非透明代理。
2.2. 網關
網關工做機制和代理十分類似,而網關能使通訊線路上的服務提供非HTTP協議服務。它能夠提升通訊的安全性,保證客戶端和網關之間的通訊線路上加密以確保鏈接的安全。
2.3隧道
按照要求創建起一條與其餘服務器的通訊縣裏,屆時使用ssl等加密手段進行通訊。隧道的目的是確保客戶端能與服務器進行安全通訊。隧道自己不解析HTTP請求,請求保持原樣中轉給以後的服務器,隧道會在通訊雙發斷開鏈接時結束。
緩存是代理服務器或客戶端本地磁盤內保存的資源副本,利用緩存可減小對源服務器的訪問,所以也就節省了通訊流量和通訊時間。緩存服務器是代理服務器中的一種,並歸類在緩存代理類型中,換句話說,當代理轉發從服務器返回響應時,代理服務器將會保存一份資源副本。
緩存服務器的優點在於利用緩存可避免屢次從源服務器轉發資源。
3.1 緩存有效期
當源服務器上的資源更新時,若是還使用緩存服務上這個資源的不變緩存時,就會出現返回更新前的舊資源;因此即便存在緩存,也會由於客戶端的要求、緩存的有效期等因素,向源服務器確認資源的有效性,若判斷緩存失敗,緩存服務器就會再次從資源服務器上獲取新資源。
3.2 客戶端緩存
客戶端緩存:主要是瀏覽器緩存,更新機制和服務器緩存服務器一致。