閱讀390 返回首頁    go 阿裏雲 go 技術社區[雲棲]


正向代理與反向代理區別

正向代理和反向代理區別:

(1)正向代理概念

正向代理,也就是傳說中的代理,他的工作原理就像一個跳板;舉個例子:我想訪問google.com,可惜我訪問不了(你懂得),但是我有一個代理服務器,這個代理服務器可以訪問google.com,於是我需要先連接上代理服務器,告訴代理服務器,我需要google.com的內容,讓代理服務器去取回來,然後返回給我。網站的角度,隻在代理服務器來取內容的時候有一次記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。
結論就是,正向代理 是一個位於客戶端和原始服務器之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

 

(2)反向代理概念

再舉個例子:我想訪問https://blog.whsir.com/test,但https://blog.whsir.com這個域名所指向的服務器上並不存在test頁麵, https://blog.whsir.com/test頁麵的內容是從另外一台服務器上取回來,然後作為自己的內容返回用戶,但用戶並不知道。這裏所提到的https://blog.whsir.com這個域名對應的服務器就設置了反向代理功能。

結論就是,反向代理正好相反,對於客戶端而言它就像是原始服務器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理中的內容發送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。

(3)二者區別

從用途上來講:
正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩衝特性減少網絡使用率。反向代理的典型用途是將防火牆後麵的服務器提供給Internet用戶訪問。反向代理還可以為後端的多台服務器提供負載平衡,或為後端較慢的服務器提供緩衝服務。另外,反向代理還可以啟用高級URL策略和管理技術,從而使處於不同web服務器係統的web頁麵同時存在於同一個URL空間下。

從安全性來講:
正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經過授權的客戶端提供服務。反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。

 

再貼上一張圖便於理解,此圖片來源於知乎上某位用戶所發,個人覺得很容易懂,便於理解!

zfd

最後更新:2017-06-26 18:32:09

  上一篇:go  IntelliJ IDEA 17 創建maven項目
  下一篇:go  《數據結構與抽象:Java語言描述(原書第4版)》一JI2.3 拋出異常