一 什麼是代理
代理其實就是一箇中介,A和B本來可以直連,中間插入一個C,C就是中介。
剛開始的時候,代理多數是幫助內網client訪問外網server用的
後來出現了反向代理,"反向"這個詞在這兒的意思其實是指方向相反,即代理將來自外網客戶端的請求轉發到內網伺服器,從外到內
二 正向代理
正向代理類似一個跳板機,代理訪問外部資源
比如我們國內訪問谷歌,直接訪問訪問不到,我們可以透過一個正向代理伺服器,請求發到代理服,代理伺服器能夠訪問谷歌,這樣由代理去谷歌取到返回資料,再返回給我們,這樣我們就能訪問谷歌了
正向代理的用途:
(1)訪問原來無法訪問的資源,如google
(2) 可以做快取,加速訪問資源
(3)對客戶端訪問授權,上網進行認證
(4)代理可以記錄使用者訪問記錄(上網行為管理),對外隱藏使用者資訊
三 反向代理
反向代理(Reverse Proxy)實際執行方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個伺服器
反向代理的作用:
(1)保證內網的安全,阻止web攻擊,大型網站,通常將反向代理作為公網訪問地址,Web伺服器是內網
(2)負載均衡,透過反向代理伺服器來最佳化網站的負載
四 總結
正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發起請求的客戶端.
反向代理即是服務端代理, 代理服務端, 客戶端不知道實際提供服務的服務端
看圖理解一:
看圖理解二:
正向代理中,proxy和client同屬一個LAN,對server透明;
反向代理中,proxy和server同屬一個LAN,對client透明。
實際上proxy在兩種代理中做的事都是代為收發請求和響應,不過從結構上來看正好左右互換了下,所以把後出現的那種代理方式叫成了反向代理
總結:
正向代理: 買票的黃牛
反向代理: 租房的代理