# [基礎系列] Proxy Server 代理伺服器 正向 / 反向代理伺服器


# What is Proxy 代理一詞

Proxy 代理這個東西是幾個角色,與貿易一詞的代理商概念類似,如同上游與下游層級對象的中間者。

也就說在系統方面,Proxy 是上游客戶端 Client Side 到下游伺服器端 Server Side 之間的仲介軟體。


# 那 Proxy 在做甚麼

保護 Server Side,剛提到 Proxy 是 Client 與 Server 中的 Middleware (仲介軟體),可以利用 Proxy 來進行對 Server 的保護與隱私,也能夠阻擋一定部分的網路攻擊。

Client 都會使用符合 Proxy Server 的通訊協定進行與 Proxy 連線,根據內容將 Request 轉發到 Server 比如獲得資訊或取得資源等等,在一些資源取得的情況下 Proxy 也會將檔案內容存入本地快取,讓 Client 能夠更快速的使用資源,使用快取也能夠大量減少 Client 對 Server 的 Request。


# Proxy 分成 Forward Proxy 正向代理與 Reverse Proxy 反向代理

兩者之間是有差異的也有不同的差異


# Forward Proxy 正向代理

Client 發送請求給 Proxy,這個請求會以 Proxy 的身分轉發到 Server,因此 Server 並不會知道來源 Client 是誰只會知道來源是 Proxy。


# Reverse Proxy 反向代理

Client 一樣發送請求到 Proxy,Proxy 自動將請求分配到低壓力的 Server 稱作 Load Balance (負載平衡),所以 Client 並不知道目標伺服器是哪一台,只會知道要發給 Proxy。