正向代理是一個位于客戶端和目標服務器之間的代理服務器(中間服務器)。為了從原始服務器取得內容,客戶端向代理服務器發送一個請求,并且指定目標服務器,之后代理向目標服務器轉交并且將獲得的內容返回給客戶端。正向代理的情況下客戶端必須要進行一些特別的設置才能使用。
反向代理正好相反。對于客戶端來說,反向代理就好像目標服務器。并且客戶端不需要進行任何設置。客戶端向反向代理發送請求,接著反向代理判斷請求走向何處,并將請求轉交給客戶端,使得這些內容就好似他自己一樣,一次客戶端并不會感知到反向代理后面的服務,也因此不需要客戶端做任何設置,只需要把反向代理服務器當成真正的服務器就好了。
區別
正向代理需要你主動設置代理服務器ip或者域名進行訪問,由設置的服務器ip或者域名去獲取訪問內容并返回;而反向代理不需要你做任何設置,直接訪問服務器真實ip或者域名,但是服務器內部會自動根據訪問內容進行跳轉及內容返回,你不知道它最終訪問的是哪些機器。
正向代理是代理客戶端,為客戶端收發請求,使真實客戶端對服務器不可見;而反向代理是代理服務器端,為服務器收發請求,使真實服務器對客戶端不可見。
從上面的描述也能看得出來正向代理和反向代理最關鍵的兩點區別:
是否指定目標服務器
客戶端是否要做設置
正向代理與反向代理
正向代理中,proxy和client同屬一個LAN,對server透明; 反向代理中,proxy和server同屬一個LAN,對client透明。 實際上proxy在兩種代理中做的事都是代為收發請求和響應,不過從結構上來看正好左右互換了下,所以把前者那種代理方式叫做正向代理,后者叫做反向代理。
從用途上來區分:
正向代理:正向代理用途是為了在防火墻內的局域網提供訪問internet的途徑。另外還可以使用緩沖特性減少網絡使用率反向代理:反向代理的用途是將防火墻后面的服務器提供給internet用戶訪問。同時還可以完成諸如負載均衡等功能
從安全性來講:
正向代理:正向代理允許客戶端通過它訪問任意網站并且隱蔽客戶端自身,因此你必須采取安全措施來確保僅為經過授權的客戶端提供服務反向代理:對外是透明的,訪問者并不知道自己訪問的是代理。對訪問者而言,他以為訪問的就是原始服務器